zoukankan      html  css  js  c++  java
  • [NPM] Create a bash script to replace a complex npm script

    In this lesson we will look at pulling out complex npm scripts into their own external bash scripts. This ends up simplifying your package.json file and abstracts the complexity into another file.

    From:

        "pretest": "npm run lint",
        "test": "BABEL_ENV=test mocha spec/ --require babel-register",

    To:

    1. Create "scripts" folder and "test.sh" file:

    #!/usr/bin/env bash
    
    npm run lint
    BABEL_ENV=test mocha spec/ --require babel-register

    Then update package.json

    "test": "./scripts/test.sh",

    and remove "pretest" script.

    2. Add premisson to the bash files:

    cd scripts
    chmod -R 777 . // change premission for all files in script folder

    3. Can add some messages:

    From :

    "build": "npm-run-all build:*",
        "prebuild": "rm -rf public/$npm_package_version",
        "build:html": "pug --obj data.json src/index.pug --out public/$npm_package_version/",
        "build:css": "node-sass src/index.scss | postcss -c .postcssrc.json | cssmin > public/$npm_package_version/index.min.css",
        "build:js": "mustache data.json src/index.mustache.js | uglifyjs > public/$npm_package_version/index.min.js",

    TO:

    "build": "./scripts/build.sh",
    #!/usr/bin/env bash
    
    echo "Building..."
    rm -rf public/$npm_package_version
    pug --obj data.json src/index.pug --out public/$npm_package_version/
    node-sass src/index.scss | postcss -c .postcssrc.json | cssmin > public/$npm_package_version/index.min.css
    mustache data.json src/index.mustache.js | uglifyjs > public/$npm_package_version/index.min.js
    echo "Finished building."
  • 相关阅读:
    mysql修改库、表、字段 字符集,中文排序
    CENTOS6.5 编译安装MySQL5.7.14
    自己的一个小小的目标
    css 浮动和清除浮动
    移动端调试方法
    Fiddler抓包工具总结
    Vue中错误图片的处理
    跨域资源共享 CORS 详解
    十大排序算法JavaScript实现总结
    javascript实现二叉搜索树
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6390395.html
Copyright © 2011-2022 走看看