以下是Node.js使用supervisor进行开发中调试的完整攻略。
什么是supervisor
supervisor是一个监控指定文件夹中的文件变化的工具,它可以在这些文件变化时自动重启 Node.js 应用程序。这意味着我们可以在代码改变时实时地查看变化的结果。
安装supervisor
在终端中使用以下命令可用全局安装supervisor:
npm install -g supervisor
使用supervisor
- 为Node.js应用程序创建一个脚本 app.js,例如:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(3000, '127.0.0.1');
console.log('Server running at http://127.0.0.1:3000/');
- 在终端中输入以下命令启动应用程序:
supervisor app.js
-
现在您可以在浏览器中打开 http://127.0.0.1:3000/ 并查看应用程序输出的内容。
-
接下来,在app.js文件中增加如下代码:
console.log('Hello World');
- 现在您会看到terminal输出了以下信息:
Starting child process with 'node app.js'
Watching directory '/path/to/project' for changes.
Server running at http://127.0.0.1:3000/
Changes detected, restarting...
Stopping child process with SIGTERM
Starting child process with 'node app.js'
Server running at http://127.0.0.1:3000/
这意味着您的应用程序已经重启,您可以现在刷新浏览器,以查看app.js代码修改后的效果。
示例
示例1
下面是supervisor在实际应用中的一个示例,我们以一个Express.js应用程序为例:
- 全局安装Express.js:
npm install -g express-generator
- 创建Express.js应用程序:
express myapp
cd myapp
npm install
npm start
- 在浏览器中打开 http://127.0.0.1:3000/,这时你会看到Express.js抛出的欢迎页面。接下来,我们使用以下命令来全局安装supervisor:
npm install -g supervisor
- 使用supervisor来启动Express.js应用程序:
supervisor ./bin/www
- 现在我们将添加一些新的代码,并在代码变化时使用它们:
在./routes/index.js
的第10行添加以下代码:
console.log('Supervisor is running!');
- 在终端窗口中你应该看到以下信息输出:
Starting child process with 'node ./bin/www'
Watching directory '/path/to/project' for changes.
Supervisor is running!
Supervisor is running!
Supervisor is running!
...
这表明您的更改是立即生效的。
示例2
下面是在一个Node.js模块中使用supervisor的示例,我们将构建一个简单的HTTP服务器以演示它的工作原理:
- 创建一个新文件
server.js
,代码如下:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
- 在终端中输入以下命令启动应用程序:
supervisor server.js
-
现在您可以在浏览器中打开 http://127.0.0.1:3000/ 并查看应用程序输出的内容。
-
接下来,在server.js文件中增加如下代码:
console.log('Hello World');
- 现在您会看到terminal输出了以下信息:
Starting child process with 'node server.js'
Watching directory '/path/to/project' for changes.
Server running at http://127.0.0.1:3000/
Changes detected, restarting...
Stopping child process with SIGTERM
Starting child process with 'node server.js'
Server running at http://127.0.0.1:3000/
这意味着您的应用程序已经重启,您可以现在刷新浏览器,以查看server.js代码修改后的效果。
希望这个攻略可以帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js使用supervisor进行开发中调试的方法 - Python技术站