我正在学习来自Courseera的nodejs,并希望在Windows 10中从命令提示符运行代码。但是这个错误找不到模块总是会发生。我完全知道这意味着什么。 我已经尝试了其他堆栈溢出线程中给出的所有方法,但无法解决问题。 node和npm分别与版本v6.9.2和3.10.9正确安装。
D:\shaury\node-http\public>node -v
v6.9.2
D:\shaury\node-http\public>npm -v
3.10.9
这就是问题:
D:\shaury\node-http\public>node serve
module.js:471
throw err;
^
Error: Cannot find module 'D:\shaury\node-http\public\serve'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
答案 0 :(得分:0)
您的代码中存在拼写错误。
var http = require('http');
var hostname = 'localhost';
var port = 3000;
var server = http.createServer(function(req, res){
console.log(req.headers);
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('<html><body><h1>Hello World</h1></body></html>');
});
//here you should surround your string in 'quotation marks' but make sure to use `backticks`
server.listen(port, hostname, function(){
console.log(`Server running at http://${hostname}:${port}/`);
});
编辑:实际上您可能需要检查您是否在正确的目录中。当您启动应用程序时,它应该来自.js文件所在的目录,或者提供路径。