reactjs – 在React项目中用平台无关的SASS编译器替换node-sass

前端之家收集整理的这篇文章主要介绍了reactjs – 在React项目中用平台无关的SASS编译器替换node-sass前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们是一个由大约6名开发人员组成的团队,他们使用异构设置( Windows 10,Ubuntu,macOS),并开始使用React进行开发.

Linux / macOS和Linux之间的脚本Windows很痛苦,所以我们决定使用Bash for Windows来运行我们的构建.一旦你正确设置了Bash,并且与VS Code的集成很棒,这种方法效果很好.
但是有一个很大的问题:每当你想要在Bash之外更新项目时(使用CMD或PowerShell),你就可以有效地切换你的操作系统,然后你就得到了一个很好的错误来自node-sass说your environment has changed.

由于重建node-sass根本无法工作,我们发现摆脱这个问题的唯一方法删除重命名node_modules&再次运行npm install,但它耗费时间/资源.

我们已经看到它看起来像there is a native js alternative但我们想看看是否有人经历过相同的&找到了合适的解决方案.

我们真的没有大量的SASS文件,因此我们不太关心性能(这是使用libSass在C中执行它的主要观点).

注意:我们不能总是在Windows上使用Bash,因为我们在一些运行npm版本的Java / React应用程序中有一些混乱的Maven集成,这将始终在Windows中.

我们在应用程序中使用了Angular 6前端并遇到了同样的问题.我们通过将所需的二进制文件检入存储库并使用不同的Maven配置文件(每个环境/操作系统一个,默认为我们的CI的linux)来设置sass-binary-path到其特定于环境的二进制文件解决它.但是,它仅在您具有能够设置环境变量的构建系统时才有效.另一个需要注意的是,您必须手动更新二进制文件.
<properties>
    <sass.binary.path.base>${basedir}/node-sass-binaries/</sass.binary.path.base>
</properties>
...
<profile>
  <id>linux</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
    <sass.binary.path>${sass.binary.path.base}/linux-x64-64_binding.node</sass.binary.path>
  </properties>
</profile>
<profile>
  <id>windows</id>
  <properties>
    <sass.binary.path>${sass.binary.path.base}/win32-x64-64_binding.node</sass.binary.path>
  </properties>
</profile>
<profile>
  <id>mac</id>
  <properties>
    <sass.binary.path>${sass.binary.path.base}/darwin-x64-64_binding.node</sass.binary.path>
  </properties>
</profile>
原文链接:https://www.f2er.com/react/300986.html

猜你在找的React相关文章