我是node.js的新手,我可能安装错了,一旦我安装它工作得很好,但是现在,经过一段时间我再也无法启动节点服务器了。
当我尝试“node debug server.js”时 我懂了 错误:没有这样的原生模块表达
这是我的代码:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
app.get('/wheel', function (req, res) {
res.sendFile(__dirname + '/wheel.html');
});
io.on('connection', function(socket){
socket.on('subscription', function(msg){
console.log('subscription: ' + msg);
io.emit('subscription', msg);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
调试:
break in server.js:1
1 var app = require('express')();
2 var http = require('http').Server(app);
3 var io = require('socket.io')(http);
debug> var app = require('express')();
Error: No such native module express
我用--save和-g参数安装了express,所以这里是版本
~/sandbox/dpr# express -V
4.13.1
任何人都可以告诉我我的服务器有什么问题。 谢谢。
已更新
这是完整的调试输出
debug> var app = require('express')();
Error: No such native module express
at NativeModule.require (node.js:854:13)
at repl:1:11
at Interface.controlEval (_debugger.js:969:21)
at repl.js:249:20
at Interface.controlEval (_debugger.js:981:5)
at Interface.<anonymous> (repl.js:239:12)
at Interface.EventEmitter.emit (events.js:95:17)
at Interface._onLine (readline.js:202:10)
at Interface._line (readline.js:531:8)
at Interface._ttyWrite (readline.js:760:14)
debug>
答案 0 :(得分:0)
确保您的server.js
文件位于node_modules
旁边的主目录中:'
app_directory
├──server.js
├──_node_modules
├──express