我想实现该节点在我的Windows 7(64位)计算机上从MySql打印一个表但是失败了。对不起提前的长帖,我试图完成,我也没能在论坛中找到这个错误。我在Notepad ++中输入的乐观mysql.js文件是
var mysql = require('node-mysql');
var connectParams = {'hostname' : 'localhost','user' : 'dev','password': 'dev','database' : 'upandrunning'};
var db = new mysql.Database(connectParams);
db.connect( function(err) {
if(err) return console.log('Failed to connect ' + err);
this.query()
.select(['id', 'user_login'])
.from('users')
.execute(
function(err, rows, columns){
if(err) return console.log('err on query ' + err);
console.log(rows);
})});
节点不断返回
C:\dev\nodejs\0.10\tutorials\node-up-and-running>node tutorials\node-up-and-running\mysql.js
module.js:340
throw err;
^
Error: Cannot find module 'C:\dev\nodejs\0.10\tutorials\node-up-and-running\tutorials\node-up-and-running\mysql.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
为什么?
在节点命令之前我告诉Squirrel
drop database if exists upandrunning;
create database upandrunning;
grant all privileges on upandrunning.* to 'dev'@'%' identified by 'dev';
use upandrunning;
create table users(
id int auto_increment primary key,
user_login varchar(25),
user_nicename varchar(75)
);
使用我的localhost root帐户(坏),但一切似乎都很好,因为squirrel对象选项卡显示了新的upandrunning数据库。 Node.exe位于C:\ dev \ nodejs \ 0.10 \但是来自dos提示符:
C:\dev\nodejs\0.10\tutorials\node-up-and-running>node -v
给出
v0.10.26
我的文件mysql.js已经简化为
var mysql = require('node-mysql');
错误必须在哪里。我从C运行以下命令:\ dev \ nodejs \ 0.10 \ tutorials \ node-up-and-running>
npm install -g mysql
npm install -g node-mysql
npm install -g db-mysql
这些是我能找到的。 每次安装后都出现同样的错误。
有任何建议请如何让节点合作?
我承认我缺乏节点故障排除技巧,但是学习module.js应该没必要。 此外,您是否知道并享受工作,免费且易于使用节点的代码完成ide? 还有一些方法可以调试console.log()以外的其他方法吗? 最后你对减少关闭括号的布局惯例有什么看法,因为它们伤害了眼睛。
该网站建议来自NodeJS require a global module/package 但是如何在dos提示符下获取node_path变量以及如何设置它: C:\ dev \ nodejs \ 0.10 \ tutorials \ node-up-and-running>设置NODE_PATH
Environment variable NODE_PATH not defined
确定设置NODE_PATH = c:\ dev \ nodejs \ 0.10 C:\ dev \ nodejs \ 0.10 \ tutorials \ node-up-and-running>节点教程\ node-up-and-running \ mysql.js
'node' is not recognized as an internal or external command, operable program or batch file.
关闭并重新打开dos会使其消失。
C:\ dev \ nodejs \ 0.10>设置NODE_PATH =%NODE_PATH%; C:\ dev \ nodejs \ 0.10 \ node_modules
它有效..但现在它失败了
var mysql = require('mysql');
var connectParams = {'hostname' : 'localhost','user' : 'dev','password': 'dev','database' : 'upandrunning'};
var db = new mysql.Database(connectParams);
C:\dev\nodejs\0.10\mysql.js:3
var db = new mysql.Database(connectParams);
^
TypeError: undefined is not a function
at Object.<anonymous> (C:\dev\nodejs\0.10\mysql.js:3:10)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
如果我删除新的说
C:\ dev的\的NodeJS \ 0.10 \ mysql.js:3 var db = mysql.Database(connectParams); ^ TypeError:对象#没有方法&#39;数据库&#39; 在对象。 (C:\ dev的\的NodeJS \ 0.10 \ mysql.js:3:17)
使用REPL:
var mysql = require(&#39; mysql&#39;); 未定义 var connectParams = {&#39; hostname&#39; :&#39; localhost&#39;,&#39;用户&#39; :&#39; dev&#39;,&#39;密码&#39;:&#39; dev&#39; &#39;数据库&#39; :&#39; upandrunning&#39;}; 未定义 var db = new mysql.Database(connectParams); TypeError:undefined不是函数 在repl:1:10 在REPLServer.self.eval(repl.js:110:21) 在repl.js:249:20 在REPLServer.self.eval(repl.js:122:7) 在界面。 (repl.js:239:12) 在Interface.EventEmitter.emit(events.js:95:17) 在Interface._onLine(readline.js:202:10) 在Interface._line(readline.js:531:8) 在Interface._ttyWrite(readline.js:760:14) 在ReadStream.onkeypress(readline.js:99:10)
答案 0 :(得分:0)
你不应该像这样创建连接吗??
connection = mysql.createConnection({
host : 'localhost',
user : 'node',
password : 'UnPassword',
database: 'nodesql'
});