【发布时间】:2023-03-18 19:39:01
【问题描述】:
我有一个基于MAC的项目,package.json脚本如下:
"scripts": {
"copyindex": "cp src/index.html build",
"copycss": "cp src/cds.css build",
"copyimages": "cp src/assets/images/** build/assets/images",
"copyfonts": "cp src/fonts/** build/fonts",
"copywc": "cp -r node_modules/@webcomponents/webcomponentsjs/bundles build && cp node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js build",
"build": "rm -rf build && mkdir build && npm run copyindex && npm run copycss && mkdir build/assets && mkdir build/assets/images && npm run copyimages && mkdir build/fonts && npm run copyfonts && npm run copywc && rollup -c",
"start": "serve build"
},
运行 npm start 时它在 MAC 上运行良好。我正在使用 Windows,但它无法运行我的 PC。我将大部分命令更改为 windows 命令,如下所示。但是,它仍然不起作用。还有什么我需要做的吗? 由于无法识别命令,我收到错误消息。
Error: 'rm' is not recognized as an internal or external command,
operable program or batch file.
"scripts": {
"copyindex": "copy src/index.html build",
"copycss": "copy src/cds.css build",
"copyfonts": "copy src/fonts/** build/fonts",
"copywc": "copy -r node_modules/@webcomponents/webcomponentsjs/bundles build && copy node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js build",
"build": "rm -rf || rmdir /s build && mkdir build && npm run copyindex && npm run copycss && mkdir build/fonts && npm run copyfonts && npm run copywc && rollup -c",
"start": "serve build"
},
我不想删除 MAC 命令。我希望 npm 脚本在 windows 和 MAC 中都可以工作
【问题讨论】:
-
“它仍然不起作用”——什么不起作用?你跑什么,你期望什么,你得到什么?
-
@ChristianFritz 对此感到抱歉。我编辑了这个问题。我正在尝试使用 npm start 运行 npm 脚本。但是,它不能在 Windows 上运行。在 MAC 中运行良好。我在 Windows 中将诸如“cp”之类的 MAC 命令更改为“复制”。但是,它仍然说大多数命令都无法识别。
-
我不想删除 MAC 命令。我希望 npm 脚本在 windows 和 MAC 中都可以工作
-
@amar
rm是一个 unix 命令,Windows 不支持它。你最好的选择是使用terminal而不是command prompt。 -
有趣的问题;对在 Windows 中执行的环境
npm脚本了解不够,但您需要检测您所在的平台,然后相应地运行不同的脚本;您尝试的“或”不起作用。
标签: node.js json npm package.json