node项目,如何替换package.json中的rm和mkdir命令?
发布于 作者:苏南大叔 来源:程序如此灵动~

在windows
平台上,运行nodejs
项目的时候,会出现一些文件操作命令不兼容的问题。最典型的就是rm
命令不存在,当然这个问题可以使用del
命令解决。但是,这里我们寻求一个更好的解决方案。
苏南大叔的“程序如此灵动”博客,记录苏南大叔和计算机代码的故事。测试环境:node@16.14.2
,rimraf@1.0.4
,mkdirp@3.0.2
。
典型场景
典型场景就是在windows
环境下,运行npm run build
命令,会提示:rm command not found
。
package.json
里面的定义:
"dist": "rm -rf ./dist && mkdir ./dist && babel ./src -d ./dist"
执行这个命令,可能会得到错误提示:
'rm' is not recognized as an internal or external command,
operable program or batch file.
解决方案【推荐】
这个方案可以适配主流平台。
npm install --save-dev rimraf mkdirp
然后修改package.json
,rm
=>rimraf
,mkdir
=>mkdirp
。例如:
"dist": "rimraf ./dist && mkdirp ./dist && babel ./src -d ./dist"
结束语
对于本文的需求来说,本方案可能并不是最好的解决方案,适合自己的就是最好的,不排除未来有更好的解决方案。更多nodejs
经验文字,请点击:


