节点命令与 app.listen()

node command vs app.listen()

我很困惑。所以如果我使用 gulp-develop-server,它有一个 app.listen():

gulpfile.js

config.server.path is set to './app,js'

server = require('gulp-develop-server');

gulp.task('default', ['server:start'], function(){
});

gulp.task('server:start', function() {
    server.listen({ path: config.server.path});
});

我的app.js有这个:

var koa = require('koa')();

koa.listen(config.server.port, function(){
    console.log('Koa app is listening on port ' + config.server.port);
});

所以我试图更好地理解节点是如何启动的。我看到有人提到像 "node app.js" 那样手动操作。那么 koa.listen() 不会自动执行 "node" 命令来启动 koa 网络服务器吗?如果我使用 gulp-develop-server 并指定 server.listen,这不是为节点执行 2 server.listen() 吗?

只是想了解这里的基础知识,无法理解为什么有人会手动输入 'node [file with .listen]'。我没有手动执行此操作,server.listen() 显然在我的 app.js 上使用了 'node' 命令。

您的 gulp 文件是一个 Node 脚本。因此,当您 运行 gulp server:start 执行 Node 应用程序时,gulp 命令本质上是 node 加上一些额外的功能。

gulp-develop-server 的工作方式是 运行 作为子进程的附加节点应用程序。 server.listen 基本上只是告诉 gulp-develop-server 要 运行.

的脚本

命名有点混乱,但本质上是这样的:你的机器上有 2 个节点应用程序 运行ning(一个你可以看到,一个在后台),但只有 1 个服务器。