我正在尝试学习nodeJS并安装了nodemon,它似乎安装了,但实际上并没有重启服务器。但是在那之后,当我对页面进行一些更改时,它会显示,但实际上并没有重新加载服务器(所以我必须手动进行)。我该如何解决这个问题,因为它已正确安装,使用
npm install -g nodemon
。如果没有办法解决这个问题,是否有 nodemon 的替代方案?这是我的 package.json:
{"dependencies": {"express": "^4.17.3","nodemon": "^2.0.15"}}
我尝试在本地安装 nodemon,重新安装 visual studio 代码,删除所有 nodeJS 模块,删除 nodeJS,全局重新安装 nodemon
你能展示一下 package.json 文件吗?有这个脚本 在我的情况下是这样的:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon app.js",
"start-server": "node app.js"
},
像那个代码一样尝试。如果这不起作用,请尝试传统手表模式并使用此代码:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon -L app.js",
"start-server": "node app.js",
}
运行命令将用于上述代码:
npm start
希望对您有所帮助!
碰巧,你是从与 app.js 相同的目录(或任何文件)运行 nodemon 吗?当我给 nodemon 一个路径而不是一个简单的文件时...
$ nodemon app.js
VS
$ nodemon server/app.js
第一个会更新,第二个不会永远适合我。可能有一些配置更改,但我只使用默认设置。
我也在从 youtube 教程中学习 Node,但遇到了同样的问题......
操作系统 Ubuntu 22.04,IDE VSCode
这是我的 package.json
{
"name": "devops_with_node_n_express",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js",
"dev": "nodemon -L index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"nodemon": "^2.0.22"
}
}
这是正在运行的nodemon
hardstone@tms-ubuntuserver:~/Documents/2-Dockers_and_Conatiners_Resources/DevOps_with_Node_n_Express$ docker run -v $(pwd):/app -v /app/node_modules -p 3000:3600 -d --name node-app node-app-image
8ed96ac381ba81f9d67272f7866c4225b28f0848d114f5e90796ad64bfbfd223
hardstone@tms-ubuntuserver:~/Documents/2-Dockers_and_Conatiners_Resources/DevOps_with_Node_n_Express$ nodemon index.js
[nodemon] 2.0.22
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
listening on port 3600
[nodemon] restarting due to changes...
[nodemon] starting `node index.js`
listening on port 3600
帮助将被深深地应用
由于 ChatGPT 的礼貌,我不得不给出另一个答案。原来这可能是权限问题。如果你像我一样使用 Windows 共享,问题可能就在那里。