"build": "rm -rf ./build && mkdir ./build && ./node_modules/.bin/babel -d ./build ./src"
这是在 package.json 中的命令,但它给我一个错误提示:
rm is not recognized as internal or external command.
Invalid switch /build
"build": "rm -rf ./build && mkdir ./build && ./node_modules/.bin/babel -d ./build ./src"
这是在 package.json 中的命令,但它给我一个错误提示:
rm is not recognized as internal or external command.
Invalid switch /build
那个脚本是为UNIX shell编写的,在Windows上不起作用。以跨平台的方式正确做法是使用rimraf & mkdirp。
此外,./node_modules/.bin/babel
部分可以简写为babel
(./node_modules/.bin/babel
在 Windows 上不起作用IIRC)。
正确编写脚本应该是:
"build": "rimraf ./build && mkdirp ./build && babel -d ./build ./src"
要使此脚本正常工作,您需要安装rimraf
和mkdirp
。您可以通过运行以下命令来完成:
To make this script work, you need to install rimraf
and mkdirp
. You can do so by running:
npm install --save-dev rimraf mkdirp
--save-dev
标志将会把 rimraf
和 mkdirp
添加到您的 package.json
文件中的 devDependencies
部分,这样它们就可以随着将来的 npm install
自动安装。
使用 rd /s /q "文件夹名称"
代替 rm -rf "文件夹名称"
Windows 10默认不提供UNIX shell。您需要相应的UNIX实用程序(如rm)和支持您指定语法的shell。
有几个选项:
使用Windows 10 Bash Shell - 最近的版本为在Windows中运行Ubuntu提供了beta支持,而无需虚拟机。
使用Cygwin进行开发 - Cygwin提供您选择的shell以及大量的UNIX/Linux实用程序。
在具有Linux Guest的虚拟机上运行 - 在Windows上运行VM的选项很多。您可以使用Hyper-V、VirtualBox或VMware Player。对于Guest操作系统,Ubuntu是常见的选择,但Fedora和Debian也是常见的替代品。
不是要抨击,但在Windows中,您可以使用内置的删除目录(rd)命令:
RD /S /Q "folder-name"