【问题标题】:How to make npm to start both angular and node servers如何让 npm 同时启动 Angular 和节点服务器
【发布时间】:2018-04-05 13:42:47
【问题描述】:

是否可以使用 npm 同时启动 Angular 默认服务器(端口:4200)和 node.js(端口:8080)?

packages.json:

"start":"ng serve && node server.js"

如果我运行 npm start,只有 Angular 的服务器(4200)开始运行,而不是节点的服务器(8080)。

有没有办法让两个服务器都必须使用 npm 同时在各自的端口上运行。

需要别人的帮助。

【问题讨论】:

标签: node.js angular


【解决方案1】:

您可以在 package.json 中添加

"start": "ng serve --open | nodemon node/",

请记住,它是相对于您的 package.json 位置的,所以在上面的示例中,节点是我的 Angular 项目中的一个子目录。这也会为您打开一个浏览器。如果您不希望浏览器打开,只需删除 --open

完整示例

"scripts": {
"ng": "ng",
"start": "ng serve --open | nodemon node/",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"

},

你当然可以使用 gulp 作为其他答案的建议

【讨论】:

  • 欢迎您@I.George,我们都去过那里,需要一点额外的帮助。祝你的项目好运
【解决方案2】:

如果您需要控制启动脚本,那么使用直接为此设计的工具可能是一种更好的方法。 (工作流程自动化)

我可以推荐gulp.js:使用它,您可以定义将按顺序或并行运行的脚本。

一个非常基本的例子:

gulp.task('node-server-start', function (cb) {
  spawn('node', ['server.js'], {stdio: 'inherit'}) 
});
gulp.task('ng-serve', function (cb) {
  spawn('ng', ['serve'], {stdio: 'inherit'}) 
});
gulp.task('start', ['ng-serve', 'node-server-start'], function () {
});

然后你就用gulp start开始吧

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-05
    • 2021-11-16
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    相关资源
    最近更新 更多