使 package.json 脚本在 macOS 和 Windows 上都能工作

问题描述 投票:0回答:1

我正在使用 Jasmine 测试套件在我的代码库中运行测试。

它在我的 Mac 上运行得很好。命令是

open SpecRunner.html

这是完整的脚本对象:

"scripts": {
    "start": "npm install",
    "test:local": "open SpecRunner.html",
    "test:remote": "karma start"
  },

我遇到的问题是我的朋友告诉我

npm run test:local
无法在他的 Windows 计算机上运行。我相信
start SpecRunner.html
中的正确命令。

使其跨操作系统兼容的最佳方法是什么?

ChatGPT 推荐这个解决方案:

"scripts": {
  "open-spec": "cross-env OS_TYPE=$(uname) npm run open-spec-$(uname | tr '[:upper:]' '[:lower:]')",
  "open-spec-darwin": "open SpecRunner.html",
  "open-spec-linux": "xdg-open SpecRunner.html",
  "open-spec-win32": "start SpecRunner.html"
}

不过,我更喜欢一种将命令组合到一个脚本中的简单方法。那可能吗?我没有Windows机器来测试自己!谢谢!

javascript windows macos jasmine package.json
1个回答
0
投票

这个问题之前已经回答过了。在这里看看这个问题:npm package.json OS 特定脚本

我相信第二个答案就是你想要的。如果没有的话,用一些节点包裹它。 https://stackoverflow.com/a/45082999/10880357

但我更喜欢第一个(类似于GPT),看起来你和你的朋友正在开始一个项目什么的。打字不会有什么坏处 : 测试:mac 或者 测试:Windows

我给你的建议:继续专注于能给你带来价值的事情。

© www.soinside.com 2019 - 2024. All rights reserved.