Node-sass 不在 npm 脚本中使用管道
Posted
技术标签:
【中文标题】Node-sass 不在 npm 脚本中使用管道【英文标题】:Node-sass doesn't pipe in npm scripts 【发布时间】: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
【问题讨论】:
【参考方案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源代码,它似乎应该能够管道输出......以上是关于Node-sass 不在 npm 脚本中使用管道的主要内容,如果未能解决你的问题,请参考以下文章
将 node-sass 监视选项与 npm run-script 一起使用
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@