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@

使用 NPM node-sass 观看 SASS 文件

带有 node-sass 和 autoprefixer 的 npm

npm无法安装node-sass的解决方法

关于npm和yarn安装node-sass失败并且依旧想使用NPM或者yarn的完美解决方案