无法运行node app.js文件

38
我正在学习node.js,尝试使用命令node app.js运行app.js文件,但终端没有任何返回(也没有错误)。以下是我遵循的步骤: $ brew install node $ sudo npm install -g express $ sudo npm install -g express-generator 在进入我创建的新文件夹后运行 $ express testsite --hogan -c less $ cd testsite && npm install 最后 $ node app.js//没有错误返回,但除了新的命令行以外没有任何回应...
感谢您的帮助。

真的吗?我收到了一个指向http://goo.gl/YnK8p0的错误。 - Ethan Mick
在我修复了那个错误之后(注释掉less,谁需要它?!),我使用node app.js运行它,它可以正常工作。Express server listening on port 3001。命令http.createServer(app).listen(app.get('port'), function(){});不应该结束进程 - 它是否存在? - Ethan Mick
好的,我会删除那个并再试一次。我正在使用这个教程 - Shivam
仍然对我不起作用... - Shivam
node -v 究竟会给你什么? - Brad
你应该使用 node start - Swanidhi
8个回答

92

testsite目录下尝试运行npm start

查看package.json

scripts : { start : node bin/www }

因此,您必须在 bin 目录下执行 www

因此,不要使用 node app.js,而是使用 node bin/www


6
有人能解释一下它是如何工作的以及它的目的是什么吗? - BananaBuisness
好的回答。npm start 已经为我完成了所有工作。感谢 @user626818。 - Adrian Grzywaczewski
1
如果我没有bin / www目录怎么办? - Janac Meena
如果您使用yarn,请使用“yarn start”。 - Henry
它对我不起作用。 它给出以下错误,错误:找不到模块'I:\ Property inspection \ Video-Call-App-NodeJS \ src \ bin \ www' 在Function.Module._resolveFilename(internal / modules / cjs / loader.js:889:15)中 在Function.Module._load(internal / modules / cjs / loader.js:745:27)中 在Function.executeUserEntryPoint [as runMain](internal / modules / run_main.js:76:12)中 在internal / main / run_main_module.js:17:47 { code:'MODULE_NOT_FOUND', requireStack:[] } - miltonbhowmick

14

尝试运行nodejs app.js而不是node app.js。


实际上,node命令是node-legacy软件包的一部分,您可以使用apt下载该软件包... - BananaBuisness
@Pikamander2 在Ubuntu上使用Node.js而不是Node,我记不清为什么或其他Linux版本是否相同。 - George

13
你需要将以下代码添加到app.js文件中,这将告诉express监听3000端口并显示一个日志信息。
 app.listen(3000, function () {
console.log("Express server listening on port 3000");
});

2

运行完毕后...

express testsite --hogan -c less

我收到了以下信息:
install dependencies:
  $ cd testsite && npm install

run the app:
  $ DEBUG=test ./bin/www

node app.js 对我也不起作用,但是./bin/www可以。

FYI,npm start对我也有效。这基本上运行了./bin/www

编辑:我很好奇为什么node.app不起作用,因为我遵循了相同的视频指南。在评论中,有人说自从视频制作以来,node改变了他们的应用启动过程。


2

解决这个问题的方法很简单......首先通过 CMD + S 命令保存你的文件

然后在终端中输入 - node app.js


0
无法运行node app.js文件
我在一个非常基本的场景中遇到了这个问题。我忘记了提及一个终点(响应),导致浏览器一直加载。
我通过提供一个响应来解决了这个问题。
app.use ((req, res, next) => {
res.send('Hello World');
});

0

我曾经遇到过类似的问题,后来发现问题出在一个叫做bcrypt的库上,一旦我移除了这个库,一切都正常了。 因此,你可以尝试逐个注释掉app.js中使用的库,以便找出哪个是引起问题的罪魁祸首。


-2
将 app.listen(3000); 添加到你的 app.js 文件中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接