gulpを使ったscss環境構築
環境構築について
gulpの最新版の記述を導入
gulp-scss以前に流行ったcompassの良い機能も導入(下記)
・画像のサイズ、パスを自動化
・開発と本番でパスを変更できる
これらをまとめて簡単に実装できる内容を用意しました。
前提条件として
Visual Studio Code
node.jsインストール済み
まずは使ってみましょう。
構成
作業フォルダ
┝package.json
┝gulpfile.js
┝index.html
└scss
└main.scss
作業フォルダを作成
package.json ファイルを作成して下記をコピー&ペースとして保存
ターミナル起動して、npm i でライブラリ含めて丸ごとインストでOK。
package.json
{ "name": "gulp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": {}, "devDependencies": { "autoprefixer": "^10.2.5", "css-mqpacker": "^7.0.0", "gulp": "^4.0.2", "gulp-postcss": "^9.0.0", "gulp-sass": "^4.1.0", "postcss": "^8.2.8", "postcss-assets": "^5.0.0", } }
gulp環境ファイル
gulpfile.jsを作成してコピペして保存でOK。
gulpfile.js
const { src, dest, watch } = require('gulp') const sass = require('gulp-sass') const postcss = require('gulp-postcss') const assets = require('postcss-assets') const mqpacker = require('css-mqpacker') const autoprefixer = require('autoprefixer') const options = { src: '', dist: 'css', img: 'img', baseUrl: '../', basePath: '', cssOption: 'expanded', folderPath: '202105_gwlp', } const serverPath = ` http://hoge.com/${options.folderPath}/`; const filesrc = { css: `${options.src}scss/**/*.scss`, } const css = () => { return src(filesrc.css) .pipe(sass({ outputStyle: options.cssOption })) .pipe(postcss([assets({ //②「sass」の後に指定 loadPaths: ['./img/'], baseUrl: options.baseUrl, })])) .pipe(postcss([mqpacker()])) .pipe(postcss(([autoprefixer()]))) .pipe(dest(`${options.dist}`)) } exports.dev = () => { watch(filesrc.css, css); } exports.server = () => { options.cssOption = 'compressed'; options.img = '/'; options.basePath = './img'; options.baseUrl = serverPath; watch(filesrc.css, css); }
ここまで準備できたら
vs codeのターミナルから下記コマンドを選んで実行してください。
開発環境css出力用コマンド
npx gulp dev
サーバーアップ用css出力用コマンド
npx gulp server
実行後は、main.scssを保存する度に、cssが自動で出力されます。
自動的にcssフォルダ、main.cssが作成されます。
gulpタスクを終了する場合はctrl+cで停止できます。
サーバー用のイメージリンクはダミーです。
実際にアップするサーバーのパスを入れてください。
今回は、scssのみですが、jsも対応できる環境設定を次の記事でアップしたいと思います。
参考にしたサイト
https://qiita.com/manabuyasuda/items/0971dbd3729cf68f87fb
https://qiita.com/miwashutaro0611/items/24f156868350503d4875
https://maku77.github.io/sass/var.html
https://book2.scss.jp/code/c5/05.html
https://github.com/borodean/postcss-assets
ディスカッション
コメント一覧
まだ、コメントがありません