【问题标题】:Node-sass doesn't pipe in npm scriptsNode-sass 不在 npm 脚本中使用管道
【发布时间】:2018-02-07 04:11:42
【问题描述】:

我正在使用 node-sass 将我的 scss 文件编译为 css,然后将结果通过管道传输到 autoprefixer。但是,我最终发现,当我尝试通过管道传输其输出时,node-sass 没有将任何内容流式传输到 stdout,但当且仅当我通过 npm 脚本执行此操作时。

这里有一些例子:

  • 使用 npm 管道

    Npm 脚本:"build:css": "node-sass src/style.scss | echo > dist/style.css"
    style.css:ECHO is on. 没有按预期工作
  • 带有 powershell 的管道

    Powershell:node ./bin/node-sass test/fixtures/compressed/index.scss | echo > style.css
    style.css:#navbar { [...]按预期工作
  • 附加 npm

    Npm 脚本"build:css": "node-sass src/style.scss > dist/style.css"
    style.css:#navbar { [...]按预期工作

我做错了什么?

这里有一些平台规格

  • NPM 版本(npm -v):3.10.3
  • 节点版本(node -v):v6.3.0
  • 节点进程 (node -p process.versions):v6.3.0
  • 节点平台(node -p process.platform):win32
  • 节点架构(node -p process.arch):x64
  • node-sass 版本 (node -p "require('node-sass').info"):
    node-sass 4.5.3(包装器)[JavaScript]
    libsass 3.5.0.beta.2(Sass 编译器)[C/C++]
  • npm node-sass 版本 (npm ls node-sass): `-- node-sass@4.5.3

【问题讨论】:

    标签: pipe command-line-interface node-sass npm-scripts


    【解决方案1】:

    试试这个:

    "build:css": "node-sass --include-path scss src/style.scss dist/style.css"
    

    【讨论】:

    • 如果我不使用管道(类似于node-sass --include-path src src/style.scss | echo > dist/dist.css),它就像一个魅力,这是我试图实现的,以避免连续写入和读取文件。我还看了一下node-sass源代码,它似乎应该能够管道输出......
    猜你喜欢
    • 2018-10-16
    • 2018-11-23
    • 2019-06-22
    • 2018-06-26
    • 2017-04-12
    • 2021-10-14
    • 2018-04-06
    • 2019-04-06
    • 2017-10-13
    相关资源
    最近更新 更多