【问题标题】:node command vs app.listen()节点命令与 app.listen()
【发布时间】:2015-09-14 20:57:36
【问题描述】:

我很困惑。所以如果我使用 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 Web 服务器吗?如果我使用 gulp-develop-server 并指定 server.listen,那不是为节点做 2 server.listen() 吗?

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

【问题讨论】:

    标签: node.js express koa


    【解决方案1】:

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

    gulp-develop-server 的工作方式是将一个附加的 Node 应用程序作为子进程运行。 server.listen 基本上只是告诉 gulp-develop-server 运行什么脚本。

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

    【讨论】:

      猜你喜欢
      • 2013-07-15
      • 2019-10-15
      • 2016-07-06
      • 2016-09-06
      • 2016-05-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2015-02-11
      相关资源
      最近更新 更多