Node-sass / sass-loader 替代方案
Posted
技术标签:
【中文标题】Node-sass / sass-loader 替代方案【英文标题】:Node-sass / sass-loader alternatives 【发布时间】:2019-12-24 21:59:39 【问题描述】:我们正在使用 webpack 构建一个 React 应用程序,我使用的是 sass-loader,而它又使用 node-sass 将 SCSS 转换为 css。
问题是 node-sass 只使用 python2.7,而我在一家大公司工作,他们对开发人员机器的政策非常严格,只允许使用 python3.x。
为了安装python2.7,我需要申请一个例外,这将去公司IT总部。
是否有不需要 python2.7 的 Node-sass 替代方案?
【问题讨论】:
【参考方案1】:node-sass 不需要 Python 2。在 Node.js 中构建本机模块确实需要 Python 2 https://github.com/nodejs/node-gyp。 node-sass 为支持的平台提供了预构建的绑定 https://github.com/sass/node-sass#supported-nodejs-versions-vary-by-release-please-consult-the-releases-page-below-is-a-quick-guide-for-minimium-support,因此如果您的网络阻止从 GitHub 版本下载这些文件,或者您正在运行旧的 node-sass + 新的 Node.js 版本,您应该只需要 Python 来重建。
如果这对您不起作用,Dart-Sass 有时可以用作这些工具中的一个选项https://github.com/sass/dart-sass
【讨论】:
你的分析是对的。我的公司阻止下载二进制文件,并且下载 windows 绑定失败,这就是为什么 node-gyp 开始重建模块的原因。我会试试 dart-sass以上是关于Node-sass / sass-loader 替代方案的主要内容,如果未能解决你的问题,请参考以下文章
`sass-loader` 需要 `node-sass` >=4。请安装兼容版本
Sass-loader 需要 node-sass >=4 即使存在
Node node-sass sass-loader 版本对应关系