【问题标题】:Piping not working as expected npm scripts管道未按预期工作 npm 脚本
【发布时间】:2016-12-07 05:29:33
【问题描述】:

我试图通过将转译后的 css 作为第一个参数传递给 cssnano 来使用 cssnano 压缩我的 sass 文件。它不工作,因为它只创建一个空白文件。第一个脚本正确运行并创建压缩的 css 文件。这是我的 package.json

{
  "name": "cssnano",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "build:css": "cssnano < main.css > main.min.css",
    "build:css1": "node-sass main.scss > main.css | cssnano > main.min.css"
  },
  "dependencies": {
    "cssmin": "^0.4.3",
    "cssnano-cli": "^1.0.5",
    "node-sass": "^3.13.0"
  }
}

【问题讨论】:

    标签: css node.js npm-scripts


    【解决方案1】:

    如果你真的需要 main.css 和 main.min.css 你可以试试这个(因为写入文件显然不会同时将内容添加到管道中):

    node-sass main.scss > main.css && cat main.css | cssnano > main.min.css
    

    否则使用这个:

    node-sass main.scss | cssnano > main.min.css
    

    【讨论】:

      【解决方案2】:

      您可以使用 Unix tee 命令,或等效的节点 https://github.com/stefanmaric/ntee

      node-sass main.scss | tee main.css | cssnano main.min.css
      

      如果您的脚本只需要在 Unix 上运行,请使用 tee。如果它必须在 Windows 上运行,则需要使用 ntee

      【讨论】:

        猜你喜欢
        • 2020-01-01
        • 2016-09-07
        • 1970-01-01
        • 2018-10-28
        • 2015-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-29
        相关资源
        最近更新 更多