NodeJS 编译节点sass需要10分钟

oug3syen  于 2022-12-22  发布在  Node.js
关注(0)|答案(4)|浏览(178)

我们经营许多小型网站,通常在数位海洋的5 - 10美元服务器上托管。
我们部署的一部分是使用node-sass将Sass编译为CSS。
在我们最新的服务器上,我们发现node-sass库(不是实际的scss文件)的编译时间显著增加,我们说的是8-10分钟,而在其他项目中需要30秒-100秒。
我们在Ubuntu 16.04.4上使用节点8.11.1(最新LTS)和Yarn1.6.0(最新)以及节点sass 4.8.3(最新)。
有没有办法在部署之间缓存编译结果?或者有人知道为什么编译node-sass要花这么多时间吗?

xytpbqjk

xytpbqjk1#

如果有人通过搜索引擎找到这个:
我们没有找到任何解决这个问题的方法。我们把液滴放大缩小到原来的大小,问题就解决了。

guz6ccqo

guz6ccqo2#

如果您运行的是受支持的OS和Node组合(请参阅GH上的发行版页面了解您的node-sass版本),那么应该下载预构建的二进制文件。

v440hwme

v440hwme3#

npm install

yarn在缓存方面有一些问题(可能在你的PC上,或者CDN上)。如果你的PC上有一些节点版本(例如nvm),这可能会导致大量的时间增加。在我的例子中,使用npm安装依赖项是有效的:40秒,相比之下,使用Yarn需要5分钟以上(我没有等到最后)

vawmfj5a

vawmfj5a4#

我遇到这个后,在一个网站上工作,首先在我的Mac Mini,然后在我的PC上。我有这个:

const sassCompiler = require('gulp-sass')(require('sass'));

在Mac上,它运行得很好,也许是M1,但在我的PC上,这是几年前,但高端,它花了大约一分钟的CSS变化。
我检查了文档,第二个参数(require('sass'))表示编译器,主要的两个选项是sassnode-sass
因为我使用的是Yarn,所以我对我的项目做了yarn add node-sass,然后将我的gulpfile行修改为:

const sassCompiler = require('gulp-sass')(require('node-sass'));

差别是十倍。
使用SASS编译器:

使用Node-SASS编译器:

我还没有在我的Mac上尝试新的配置,但我不认为会有很大的区别。

相关问题