美文网首页
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