首页 > 解决方案 > 是否可以同时配置以顺序运行任务?

问题描述

我的 NPM 包有以下脚本

  1. 启动 MongoDB。
  2. 构建一个 Angular 应用程序并观察它的任何变化。
  3. 使用 nodemon 启动 express 服务器。

    "scripts": {
    "start_db": "mongod",
    "start_client": "ng build --output-path ./server/public/ --watch",
    "start_server": "nodemon --inspect -w server ./server/server.js",
    "start_all": "concurrently \"mongod\" \"nodemon --inspect -w server ./server/server.js\" \"ng build --output-path ./server/public/ --watch\""}
    

我想用一个命令来完成它们,所以我添加了一个脚本“start_all”并同时使用。

但是,当 express 服务器启动时,mongodb 尚未启动并报告错误。

[1] 2019-07-15 13:36:54 - 错误 - 与数据库的连接失败。MongoNetworkError:在第一次连接时无法连接到服务器 [localhost:27017] [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] [1] at Pool。(/repository/dashboard-js/node_modules/mongodb-core/lib/topologies/server.js:431:11) [1] 在 Pool.emit (events.js:198:13) [1] 在连接 (/repository /dashboard-js/node_modules/mongodb-core/lib/connection/pool.js:557:14) [1] 在 makeConnection (/repository/dashboard-js/node_modules/mongodb-core/lib/connection/connect.js: 39:11) [1] 在回调 (/repository/dashboard-js/node_modules/mongodb-core/lib/connection/connect.js:261:5) [1] 在 Socket.err (/repository/dashboard-js/ node_modules/mongodb-core/lib/connection/connect.js:286:7) [1] 在 Object.onceWrapper (events.js:286:20) [1] 在 Socket。

有没有办法解决这个问题?例如,我可以同时配置,使其仅在“start_db”完成后执行“start_client”和“start_server”吗?

标签: javascriptnode.jsnpmconcurrently

解决方案


推荐阅读