我使用Visual Studio Code作为NodeJS项目的编辑器。
目前,当我更改项目中的文件时,我需要手动重启服务器。
VSCode中是否有任何插件或配置更改,可以在我更改文件时自动重新启动NodeJS服务器。
答案 0 :(得分:18)
现在,您可以将Nodemon与VS Code一起使用来实现此目的。我今天测试了Nodemon对VS Code的支持,它对我来说效果很好。以下是我的VS Code详细信息。
我在全局npm install -g nodemon
安装了Nodemon并创建了VS Code启动配置,如下所示
{
"name": "Nodemon Launch Server",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "nodemon",
"runtimeArgs": [
"--debug=5858"
],
"program": "${workspaceRoot}/server.js",
"restart": true,
"port": 5858,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
答案 1 :(得分:3)
您也可以在本地安装nodemon npm install nodemon --save-dev
。
以下VS Code的配置示例launch.json:
[
{
"name": "Nodemon",
"type": "node",
"request": "launch",
"runtimeExecutable": "${workspaceFolder}/node_modules/nodemon/bin/nodemon.js",
"program": "${workspaceFolder}/src/server/index.js",
"restart": true,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
]
答案 2 :(得分:1)
使用pm2观看您的代码并自动重启
npm install pm2 -g
npm install pm2
<强> process.json 强>
{
name : "App",
script : "app.js",
watch : true,
}
你可以找到演示@ https://github.com/sivasankars/jade-title-rendering
答案 3 :(得分:0)
要添加到Siva的评论中
这将转到带有新的pm2版本的生态系统.config.js
module.exports = {
apps : [{
**name: 'App',
script: 'app.js',
watch: false,**
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy : {
production : {
user : 'node',
host : '212.83.163.1',
ref : 'origin/master',
repo : 'git@github.com:repo.git',
path : '/var/www/production',
'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production'
}
}
};
答案 4 :(得分:0)
在编辑我们的应用程序文件后自动重新启动调试器:
在Vscode午餐程序中为nodejs添加调试器配置,如下面的屏幕截图所示。
在文件路径下面添加两行:
.vscode / launch.json
"runtimeExecutable": "nodemon",
"restart":true
假设您已全局安装 nodemon
npm install nodemon -g
更多信息请点击官方文档链接:https://code.visualstudio.com/docs/nodejs/nodejs-debugging
答案 5 :(得分:0)
这是我运行Express服务器的有效方法:
{
"name": "Nodemon Launch Server",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "nodemon",
"runtimeArgs": [
"--inspect-brk"
],
"program": "${workspaceFolder}/bin/www",
"restart": true,
// "console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}