【发布时间】:2017-01-23 06:51:09
【问题描述】:
我需要一些帮助。我只是在学习用 node.js 建立一个网站。
我已经安装了节点 v4.5.0、npm 2.15.9、coffeescript 1.10.0
我正在按照“CoffeeScript 和 Node.js”一书中的说明进行操作。
我有这个文件package.json:
{
"name": "todo",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app"
},
"dependencies": {
"express": "3.0.0beta6",
"jade": "*",
"socket.io": "*",
"coffee-script": "*",
"connect-assets": "*"
}
}
我运行了命令:npm install,之后显示了一些警告,关于 jade 已被弃用,并且必须安装 pug。
我已将package.json 文件中的jade 更改为pug,并再次运行npm install。还有一些警告,关于pug 的较新版本!又做了一些修改,终于出现了这个ERR!
我会很感激一些帮助,如何继续。
注意:示例代码来自一本相当古老的书(2012 年),从未更新
我应该如何进行?我有一个包含jade 和 pug 的目录树。那会奏效吗?或者我应该更新node 和/或npm?
编辑:我现在大部分都在工作,但出现了另一个问题。应该和前面的有关系吗?
问题:我安装了另一个帮助模块:npm install supervisor -g。当我运行supervisor app.coffee 时,起初一切看起来都不错,但在对其中一个文件进行更改后,控制台显示变得疯狂。我必须阻止它,结果是这样的:
Starting child process with 'coffee.cmd app.coffee'
Listening on port 3000
events.js:141
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3000
at Object.exports._errnoException (util.js:907:11)
at exports._exceptionWithHostPort (util.js:930:20)
at Server._listen2 (net.js:1250:14)
at listen (net.js:1286:10)
at Server.listen (net.js:1382:5)
at Function.app.listen (C:\Examples\todo_node\todo\node_modules\express\lib\application.js:533:24)
at Object.<anonymous> (C:\Examples\todo_node\todo\app.coffee:13:5)
at Object.<anonymous> (C:\Examples\todo_node\todo\app.coffee:1:1)
at Module._compile (module.js:409:26)
at Object.exports.run (C:\Users\ad\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\coffee-script.js:134:23)
at compileScript (C:\Users\ad\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\command.js:224:29)
at compilePath (C:\Users\ad\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\command.js:174:14)
at Object.exports.run (C:\Users\ad\AppData\Roaming\npm\node_modules\coffee-script\lib\coffee-script\command.js:98:20)
at Object.<anonymous> (C:\Users\ad\AppData\Roaming\npm\node_modules\coffee-script\bin\coffee:7:41)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:974:3
Program coffee.cmd app.coffee exited with code 1
Starting child process with 'coffee.cmd app.coffee'
Received SIGINT, killing child process...
Parent process exiting, terminating child...
第二次编辑;我读过Error: listen EADDRINUSE :::3000 表示3000 地址正在使用中。我不知道可能会使用它,但我想知道如何避免这种情况。我在 Windows 10 上运行这个应用程序,今天刚刚更新。
而且,使用命令coffee app.coffee 运行应用程序没有问题。缺点是每次更改文件时都必须关闭并重新启动它。
希望有人能进一步帮助我,
谢谢你, 广告
【问题讨论】:
-
关于您的第二个问题,打开具有管理员状态的 Windows 控制台并使用“netstat -bano”。搜索端口 3000,您将看到使用该端口的进程。关于第一个问题,完成后不要忘记标记为已回答,然后打开第二个帖子来描述第二个问题(因为从现在开始我没有看到您的编辑)。
标签: javascript json node.js express coffeescript