var express = require(" express");返回undefined

时间:2015-03-09 23:04:15

标签: javascript angularjs node.js

我是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"
  }
}

1 个答案:

答案 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 环境变量。它会起作用。