我正在尝试从基于C 实现的版本切换gulp-ruby-sass
到比经典 Ruby 版本更快的版本。node-sass
libsass
到目前为止我已经安装了节点包:
Node 包
cd /path/to/project
npm install --save-dev node-sass gulp-sass
Gulp文件
我将要求替换如下:
//sass = require('gulp-ruby-sass'),
sass = require('gulp-sass'),
Libsass
然后我去 lo 拿libsass
包裹,但是目前没有可用。
所以我想知道是否有人用 bash 脚本来构建它目前的指示不明确?
答案1
我把我的研究记录成bash 脚本作为要点基于官方文件
编译和libsass
安装sassc
安装依赖项
apt-get install automake libtool
获取源代码
git clone https://github.com/sass/libsass.git
git clone https://github.com/sass/sassc.git libsass/sassc
创建配置脚本
cd libsass
autoreconf --force --install
cd ..
创建自定义 makefile共享库
更多信息请阅读:静态库和共享库之间的区别?安装之前libsass
。
cd libsass
autoreconf --force --install
./configure \
--disable-tests \
--enable-shared \
--prefix=/usr
cd ..
构建库
make -C libsass -j5
安装库
sudo make -C libsass -j5 install
测试
仅有的node-sass
time node-sass /path/to/main.scss
成功
Rendering Complete, saving .css file...
Wrote CSS to /mnt/data/projects/EVRPA/evrpa/web/main.css
node-sass ../web/styles/main.scss 0.42s user 0.03s system 95% cpu 0.471 total
Gulp
和ruby-sass
[17:48:21] Using gulpfile /mnt/data/projects/EVRPA/evrpa/web/gulpfile.js
[17:48:21] Starting 'css'...
[17:48:21] gulp-ruby-sass: directory
[17:48:23] gulp-ruby-sass: overwrite main.css
[17:48:24] Finished 'css' after 2.9 s
gulp css 4.60s user 0.35s system 46% cpu 10.605 total
Gulp
和node-sass
time gulp css
[17:47:59] Using gulpfile /mnt/data/projects/EVRPA/evrpa/web/gulpfile.js
[17:47:59] Starting 'css'...
[17:48:00] Finished 'css' after 1.1 s
gulp css 2.99s user 0.20s system 100% cpu 3.164 total
结论
我的测试不是基准,也没有什么价值,但node-sass
似乎速度快 3-5 倍比ruby-sass
。
答案2
上述操作在 Ubuntu 18.04 上不再适用
我最终得到以下结果:
git clone https://github.com/sass/libsass.git ~/libsass
echo "export SASS_LIBSASS_PATH=~/libsass" >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/sass/sassc.git ~/sassc
cd ~/sassc
make
echo "export PATH=$PATH:~/sassc/bin/" >> ~/.bashrc
source ~/.bashrc
sassc -v
基于https://github.com/sass/sassc/blob/master/docs/building/unix-instructions.md