2016-11-04 439 views
0

使用mysqljs,我想从我的本地数据库查询一些数据,并使它们反应。 这是我做过什么至今:Uncaught TypeError:Net.createConnection不是函数(...)

import React from 'react'; 
var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host : 'localhost', 
    user : 'root', 
    password: '', 
    database: 'pep' 
}); 

connection.connect(); 
var Menu=React.createClass({ 
    data : function(){ 
     connection.query('Select * from '+this.props.table, function(err, rows, fields){ 
      if(err) throw err; 
      console.log(rows); 
     }) 
    }, 
    render : function() { 
     return (
      <div> 
       <button onClick={this.data}>click</button> 
      </div> 
     ); 
    } 
}); 
export default Menu; 

(另一个文件是使用Menu组件并传递道具菜单)显示

没什么并将其与此错误加油车的控制台来:

Connection.js:91 Uncaught TypeError: Net.createConnection is not a function 
    at Connection.connect (webpack:///./~/mysql/lib/Connection.js?:91:13) 
    at eval (webpack:///./src/Menu.js?:24:12) 
    at Object.<anonymous> (http://localhost:3000/static/js/bundle.js:2983:2) 
    at __webpack_require__ (http://localhost:3000/static/js/bundle.js:556:30) 
    at fn (http://localhost:3000/static/js/bundle.js:87:20) 
    at eval (webpack:///./src/Combobox.js?:18:13) 
    at Object.<anonymous> (http://localhost:3000/static/js/bundle.js:3121:2) 
    at __webpack_require__ (http://localhost:3000/static/js/bundle.js:556:30) 
    at fn (http://localhost:3000/static/js/bundle.js:87:20) 
    at eval (webpack:///./src/App.js?:18:17) 

这是为什么?我该如何解决这个问题或者我应该怎么做才能从数据库中获取我的数据?

回答

2

mysqljs relies on Node's net library。您的浏览器中没有此API,因此如果不进行重大更改,您将无法使用此库。

无论如何,您不应该建立从客户端的浏览器到您的后备数据库的直接连接,因为您的mysql数据库服务器不一定为此用例而构建。相反,通过专用网络服务器发布您的数据为RESTful web services。例如,您可以使用Node.jsrestify框架。

相关问题