我是node.js的新手,并通过服务器动态提取数据。我正在尝试连接到我的数据库并提取存储在那里的注释。我已经尝试了几个不同的答案(在stackoverflow上找到)来解决我的问题,但它们都没有奏效。由于某种原因,var express = require(" express");返回undefined
Server.js
var express = require("express");
var mysql = require("mysql");
var app = express();
var connection = mysql.createConnection({
host : "localhost",
user : "root",
password : "root",
database : "moviewer"
});
connection.connect(function(error) {
if(error) {
console.log("Problem with MySQL"+error);
} else {
console.log("Connected with Database");
}
});
app.use(express.session());
app.listen(8888,function() {
console.log("It's Started on PORT 8888");
});
app.get('/',function(req,res) {
res.sendfile('index.html');
});
app.get('/load',function(req,res) {
connection.query("SELECT * from movie-reviews",function(err,rows){
if(err) {
console.log("Problem with MySQL"+err);
} else {
res.end(JSON.stringify(rows));
}
});
});
的package.json
{
"name": "Moviewer",
"version": "1.0.0",
"dependencies": {
"express": "^4.12.2",
"mysql": "~2.5.0"
}
}
答案 0 :(得分:0)
您的问题的解决方案可能是: NODE_PATH环境变量未设置为全局/本地模块。
基于你的问题我刚刚执行了一些小样本代码,服务器开始使用我执行的express.Code,如下所示:
var express = require("express");
var app = express();
var port = 3700;
app.get("/", function(req, res){
res.send("It works!");
});
app.listen(port);
console.log("Listening on port " + port);
我相信,你应该在你的快递模块可用的地方设置 NODE_PATH 环境变量。它会起作用。