当前位置: 首页 > 知识库问答 >
问题:

按顺序运行NPM脚本

张宝
2023-03-14

假设我有

"scripts": {
    "pre-build": "echo \"Welcome\" && exit 1",
    "build_logic": "start cmd.exe @cmd /k \"yo esri-appbuilder-js:widget && exit 1\"",
    "post_build":  "start C:\\WebAppBuilderForArcGIS\\startupShortcut",
    "exit" : "start cmd.exe @cmd /k \"echo \"goodbye\" && exit 1\""
  },

我可以运行什么NPM命令来让所有这些脚本按顺序启动。当我使用前/后修复时,它们会顺序启动,但不会等到父脚本完成后才执行。我假设唯一的解决方案是这样的:当在async.series助手函数中触发shell命令时,我如何让Gulp任务依次触发??我知道这可以用古普来完成,但我现在想坚持使用NPM来探索它的能力。感谢任何帮助!

共有3个答案

屈昊天
2023-03-14

您可以为脚本添加前缀prepost,以便它们将自动执行:

"scripts": {
  "prebuild": "echo \"Welcome\" && exit 1",
  "build": "start cmd.exe @cmd /k \"yo esri-appbuilder-js:widget && exit 1\"",
  "postbuild":  "start C:\\WebAppBuilderForArcGIS\\startupShortcut",
  "exit" : "start cmd.exe @cmd /k \"echo \"goodbye\" && exit 1\""
}

然后运行npm运行build

田成仁
2023-03-14

按照@Mobiletainment的好答案,您还可以使用npm-run-all使命令更短、更易读。在您的情况下:

"scripts": {
    ...
    "build": "run-s pre-build build_logic post_build exit"
}

run-snpm run all提供的一种快捷方式,它按顺序运行所有给定的npm脚本,因此-srun-snpm run all-s的较短版本)。

邬博涉
2023-03-14

通过npm run调用这些脚本,并用双符号与

npm run pre-build && npm run build_logic && npm run post_build && npm run exit

说明:

  • 使用

 类似资料:
  • 问题内容: 假设我有 我可以运行什么NPM命令以使所有这些脚本按顺序启动。当我使用前/后修复时,它们顺序启动,但是它们不等待父脚本完成才执行。我假设唯一的解决方案是:在async.series辅助函数中触发shell命令时,如何使Gulp任务依次触发??我知道可以使用Gulp做到这一点,但我现在想坚持使用NPM来探索其功能。谢谢你的帮助! 问题答案: 通过npm run调用这些脚本,并用双“&”号

  • 问题内容: 我正在尝试使用jQuery动态加载一些脚本: 但是有时加载脚本的顺序会发生变化。前一个脚本成功加载后,如何加载每个脚本? 问题答案: 您可以通过使用回调函数作为递归函数调用在前一个完成加载后加载每个。 在您的代码中发生的是,脚本是同时被请求的,并且由于它们是异步加载的,因此它们以随机顺序返回并执行。 我尚未对此进行测试,但是如果脚本是在本地托管的,则可以尝试以纯文本格式检索它们,然后将

  • 比如说,您正在主干上构建一个项目,需要按特定顺序加载脚本,例如需要在。 我怎样才能让它在脚本中保持有序? 我的,但由于文件是按字母顺序组织的,gulp将显示下划线。js在,以及我的不重要,它查看目录中的文件。 有人对此有想法吗? 我最好的主意是用,,重命名供应商脚本,以给他们正确的顺序,但我不确定我是否喜欢这样。 随着我了解的越来越多,我发现布朗瑟夫是一个很好的解决方案,起初可能会很痛苦,但它很棒

  • 问题内容: 我有3个线程第一打印A第二打印B第三打印C 我想按顺序打印ABCABCABC,依此类推..... 因此,我在下面编写了程序,但无法实现相同的目的。我知道一个问题,当时状态为1时,例如B1和C1线程正在等待,而当我做notifyAll()时,两个等待线程都被唤醒,并且取决于CPU分配,它可能会打印B或C。 在这种情况下,我只希望在A之后打印B。 我需要做什么修改。 问题答案: 将那些IF

  • 我对Cumber框架没有什么顾虑:-1。我有一个功能文件(步骤相互依赖),我想按顺序运行所有场景,默认情况下它们是按随机顺序运行的。2.如何多次运行单个功能文件? 我贴上一些标签,试着跑,但没有运气。 因此,在上面的步骤中,我从一个步骤中获取令牌,并尝试在另一个步骤中打印令牌,但我得到的是null,而不是实际值,因为我的步骤是随机的。请注意,我正在通过testng运行TestRunner。xml文

  • 问题内容: 我想尝试使用npm为Web应用程序运行各种构建任务。我知道我可以这样添加一个字段来做到这一点: 当您使用带有许多选项的更复杂的命令时,这变得很笨拙。是否有可能将这些命令移至bash脚本或类似的东西?就像是: 在文件中的哪里执行命令? 阅读这篇文章似乎是这样,但是我不清楚我应该在哪里放置文件或者丢失了什么。 问题答案: 完全有可能… 另外,请确保在bash文件的顶部放置一个哈希爆炸 还请