Rubyベースのトランスパイラーほど簡単ではなかったので、libsassのセットアップに苦労していました。誰かが方法を説明できますか:
- libsassをインストールしますか?
- コマンドラインから使用しますか?
- gulpやgruntなどのタスクランナーで使用しますか?
私はパッケージマネージャーの経験がほとんどなく、タスクランナーの経験もほとんどありません。
回答:
node.jsに基づいているため、libsassにnode-sass実装ツールを選択しました。
$ npm install -g node-sass
node-sassをグローバルにインストールします-g
。下部にあるlibsassを読んでいない場合でも、これで必要なものがすべてインストールされることを願っています。
一般的な形式:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
例:
$ node-sass my-styles.scss my-styles.css
単一のファイルを手動でコンパイルします。$ node-sass my-sass-folder/ -o my-css-folder/
フォルダ内のすべてのファイルを手動でコンパイルします。$ node-sass -w sass/ -o css/
ソースファイルが変更されるたびに、フォルダ内のすべてのファイルが自動的にコンパイルされます。-w
ファイルへの変更の監視を追加します。「圧縮」などのその他の便利なオプションをここに@。コマンドラインは迅速な解決に適していますが、Grunt.jsやGulp.jsなどのタスクランナーを使用してビルドプロセスを自動化できます。
上記の例をnpmスクリプトに追加することもできます。適切としてNPMのスクリプトを使用するように一口に代わる読んで、この包括的な記事@ css-tricks.com特に読んタスクをグループ化します。
package.json
プロジェクトディレクトリにファイルがない場合は、実行$ npm init
するとファイルが作成されます。と一緒-y
に使用して、質問をスキップします。"sass": "node-sass -w sass/ -o css/"
するscripts
にはpackage.json
ファイル。次のようになります。"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass
ファイルをコンパイルします。$ npm install -g gulp
Gulpをグローバルにインストールします。package.json
プロジェクトディレクトリにファイルがない場合は、実行$ npm init
するとファイルが作成されます。と一緒-y
に使用して、質問をスキップします。$ npm install --save-dev gulp
Gulpをローカルにインストールします。--save-dev
追加gulp
にdevDependencies
の中でpackage.json
。$ npm install gulp-sass --save-dev
gulp-sassをローカルにインストールします。gulpfile.js
プロジェクトのルートフォルダに次のコンテンツを含むファイルを作成して、プロジェクトのgulpを設定します。'use strict';
var gulp = require('gulp');
トランスパイルするための基本的な例
このコードをgulpfile.jsに追加します。
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
gulp.src('./sass/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});
$ gulp sass
上記のタスクを実行して、sass
フォルダー内の.scssファイルをコンパイルし、フォルダー内に.cssファイルを生成しcss
ます。
作業を楽にするために、時計を追加して、手動でコンパイルする必要がないようにします。このコードをあなたのgulpfile.js
:に追加してください
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
これですべてが設定されました。監視タスクを実行するだけです。
$ gulp sass:watch
node-sassの名前が示すように、トランスパイル用に独自のnode.jsスクリプトを作成できます。興味がある場合は、node-sassプロジェクトページを確認してください。
Libsassは、sassCなどの実装者またはこの場合はnode-sassによって構築される必要があるライブラリです。Node-sassには、デフォルトで使用するlibsassのビルドバージョンが含まれています。ビルドファイルがマシンで機能しない場合は、マシンのlibsassをビルドしようとします。このプロセスにはPython2.7.xが必要です(3.xは現在のところ機能しません)。加えて:
LibSassにはGCC4.6 +またはClang / LLVMが必要です。OSが古い場合、このバージョンはコンパイルされない可能性があります。Windowsでは、GCC4.6以降またはVS2013 Update4以降を搭載したMinGWが必要です。Windows上でClang / LLVMを使用してLibSassをビルドすることも可能です。
これらのツールのインストールは、OSによって異なる場合があります。
Windowsでは、node-sassは現在デフォルトでVS2015をサポートしています。ボックスにVS2013しかない場合、コマンドの実行中にエラーが発生した場合は、-msvs_version = 2013を追加してVSのバージョンを定義できます。これは、node-sassnpmページに記載されています。
したがって、VS2013を搭載したWindowsで機能する安全なコマンドラインは次のとおりです。npminstall--msvs_version = 2013 gulp node-sass gulp-sass
ノードv6.11.2およびnpmv3.10.10を使用するWindows10では、任意のフォルダーで直接実行するには、次のようにします。
> node-sass [options] <input.scss> [output.css]
私はnode-sassGithubの指示に従っただけです:
Powershellで管理者として実行してnode-gypの前提条件を追加します(しばらく時間がかかります)。
> npm install --global --production windows-build-tools
では、通常のコマンドラインシェル(Win+ R+ CMD + Enter)を実行します。
> npm install -g node-gyp
> npm install -g node-sass
-g
下これらのパッケージを配置します%userprofile%\AppData\Roaming\npm\node_modules
。npm\node_modules\node-sass\bin\node-sass
現在存在することを確認できます。
ローカルアカウント(システムではない) PATH
環境変数に次のものが含まれているかどうかを確認します。
%userprofile%\AppData\Roaming\npm
このパスが存在しない場合でも、npmとノードは実行できますが、モジュールのbinファイルは実行されません。
前のシェルを閉じて新しいシェルを再度開き、> node-gyp
またはのいずれかを実行します> node-sass
。
注意:
windows-build-tools
必要ではないかもしれない(何もコンパイルが行われない場合、誰かがこれらのツールをインストールせずにそれを作った場合はどうなりますか?私が読みたい)が、それは管理者に追加したアカウントGYP_MSVS_VERSION
で、環境変数を2015
値として。> uglifyjs main.js main.min.js
および> mocha
node-sass
はgulp-sass
の依存関係にあるため、ローカルにインストールする必要はありません。