美文网首页
npm script工作流(六) 跨平台兼容

npm script工作流(六) 跨平台兼容

作者: ZoranLee | 来源:发表于2020-08-05 14:37 被阅读0次

主要内容


Windows和Linux下两套命令

{
  "name": "hello-npm-script",
  "scripts": {
    "bash-script": "echo Hello $npm_package_name",
    "win-script": "echo Hello %npm_package_name%"
  }
}

文件系统操作

具体使用:

添加依赖

npm i rimraf cpr make-dir-cli -D
# npm install rimraf cpr make-dir-cli --save-dev
# yarn add rimraf cpr make-dir-cli -D

修改package.json

  • before:
{ "cover:cleanup": "rm -rf coverage && rm -rf .nyc_output"}
  • after:
  {
   "cover:cleanup": "rimraf coverage && rimraf .nyc_output"
  }
  • 替换说明:
    1、 rm -rf 直接替换成 rimraf
    2、 mkdir -p 直接替换成 make-dir
    3、cp -r 的替换需特别说明下,cpr 默认是不覆盖的,需要显示传入 -o 配置项,并且参数必须严格是 cpr <source> <destination> [options] 的格式,即配置项放在最后面;
    4、把 cover:cleanuppostcover 挪到 precover 里面去执行,规避 cpr 没归档完毕覆盖率报告就被清空的问题;

cross-var 引用变量的兼容

Linux 下引用方式: $npm_package_name
Windows 下引用方式: %npm_package_name%
在 npm script 中使用变量对此做兼容

安装

npm i cross-var -D
# npm install cross-var --save-dev
# yarn add cross-var -D

修改package.json

  • before
{
  "name": "hello-npm-script",
  "scripts": {
    "bash-script": "echo Hello $npm_package_name",
    "win-script": "echo Hello %npm_package_name%"
  }
}
  • after:
  {  
"common-script": "cross-var echo Hello $npm_package_name"
}

cross-env 环境变量兼容

添加依赖

$ npm i cross-env -D
$ # npm install cross-env --save-dev
$ # yarn add cross-env -D

修改package.json

  "scripts": {
-    "test": "NODE_ENV=test mocha tests/",
+    "test": "cross-env NODE_ENV=test mocha tests/",
  }

更多兼容性包

相关文章

网友评论

      本文标题:npm script工作流(六) 跨平台兼容

      本文链接:https://www.haomeiwen.com/subject/wxgnrktx.html