package.json 中的多个命令

Posted

技术标签:

【中文标题】package.json 中的多个命令【英文标题】:Multiple commands in package.json 【发布时间】:2018-03-30 09:14:28 【问题描述】:

此命令:"start": "node server/server.js" 启动我的服务器,但在运行此命令之前,我还希望命令自动运行: 'webpack'.

我想构建一个可以运行的脚本 npm run someCommand - 它应该首先在终端中运行webpack,然后是node server/server.js

(我知道如何使用 gulp 进行配置,但我不想使用它)

【问题讨论】:

【参考方案1】:

如果我理解正确的话,你想先运行 webpack,然后编译运行 nodejs。也许试试这个:

"start": "webpack && node server/server.js"

【讨论】:

以及如何将 args 传递给两个内部命令?例如,我想运行“npm run start -- --dest dest/env”,并且我想要 dest arg 用于 webpack 和 node 命令。【参考方案2】:

以下应该起作用:

"start": "webpack && node server/server.js"

不过,为了可读性(特别是如果您计划在未来添加其他任务),您可能需要考虑为每个任务创建单独的条目,然后从 start 调用每个条目。比如:


    "init-assets": "webpack",
    "init-server": "node server/server.js",
    "start": "npm run init-assets && npm run init-server"

【讨论】:

【参考方案3】:

你也可以像这样链接命令:

"scripts": 
    "clean": "npm cache clean --force",
    "clean:complete": "npm run clean && npm uninstall -g @angular/cli && rmdir /Q /S node_modules",
    "clean:complete:install": "npm run clean:complete && npm i -g @angular/cli && npm i && npm install --save-dev @angular/cli@latest"

【讨论】:

我怎么称呼它? npm 运行干净?它将全部运行或者我需要编写 npm run clean -complete -install ? 是的。 npm 运行清洁 / npm 运行清洁:完成。这只是附加同时命令的一种方式。【参考方案4】:

此外,除了接受的答案和@pdoherty926 的答案,如果您想运行两个命令提示符,您可以在每个命令前添加“start”:


    "init-assets": "webpack",
    "init-server": "node server/server.js",
    "start": "start npm run init-assets && start npm run init-server"

【讨论】:

以上是关于package.json 中的多个命令的主要内容,如果未能解决你的问题,请参考以下文章

如何在 package.json 中有多个入口点?

package.json(node)中,多个命令行合并一条

将命令行参数传递给 package.json 中的 npm 脚本

react nodejs项目中的多个package.json文件

npm安装package.json中的模块依赖

将库从依赖项重定位到 package.json 中的 devDependencies 块的命令?