Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9044

VS Codeでサイト制作環境構築

$
0
0

はじめに

底辺コーダーが自分のために記録している、node.jsを使った際のサイト制作環境構築メモです。
そのため、もっと効率がいい方法や記述方法があると思いますが、あくまで一例として見てください。

対象者

  • Windows所有者(🍎は知らん)
  • HTMLとかCSSは大体理解してる
  • Scssを触ってみたけど、変換が一々めんどくさい
  • node.jsって何をどうしたらいいのか意味不明

目指す形(基本楽がしたい)

  • Scssを更新した際に自動でCSSに変換
  • 変換したCSSを自動で任意の場所に置きたい
  • CSSを最終的に圧縮してmin形式にも対応

フォルダ構成

root/
 ├ assets/
 │ ├ css/
 │ ├ img/
 │ ├ js/
 │ └ scss/
 ├ gulpfile.js
 ├ index.html
 └ package.json

1.node.js 導入

噂の「node.js」を下記からDLしてきて導入します。
https://nodejs.org/ja/

「node.js」って何ですか???

そんなあなたに…これ

2.Yarn導入

なんかnpmとかいう奴よりいいらしい、知らんけど
https://classic.yarnpkg.com/ja/

3.パッケージ導入

コマンドプロンプトを起動し、作業用フォルダまで移動してからコマンドを打ち込む。
上記が基本的なやり方なんですが、面倒なので VS code についている PowerShell で打ち込みます。
ただ、初期設定だとなんか打てないので…参考記事を読んで自分の好き方法で解決してください。

初期化(おまじない)

yarn init

Gulp導入

yarn add gulp --dev

SCSSプラグイン導入

yarn add gulp-sass --dev

gulp-autoprefixer のインストール

yarn add gulp-autoprefixer --dev

gulp-clean-css のインストール

yarn add gulp-clean-css --dev

gulp-rename のインストール

yarn add gulp-rename --dev

gulp-postcss のインストール

yarn add gulp-postcss --dev

css-mqpacker のインストール

yarn add css-mqpacker --dev

gulpfile.js

constgulp=require('gulp');constautoprefixer=require('gulp-autoprefixer');constcleanCSS=require('gulp-clean-css');constrename=require('gulp-rename');constsass=require('gulp-sass');constsourcemaps=require('gulp-sourcemaps');constpostcss=require('gulp-postcss');constmqpacker=require('css-mqpacker');constdel=require('del');constpaths={'src':{'scss':'./assets/scss/**/*.scss','css':'./assets/css/**/*.css',},'dist':{'css':'./assets/css/',}};// 各タスク関数functionstyle(){returngulp.src(paths.src.scss).pipe(sourcemaps.init()).pipe(sass({outputStyle:'expanded',}).on('error',sass.logError)).pipe(postcss([mqpacker()])).pipe(autoprefixer()).pipe(sourcemaps.write('./')).pipe(gulp.dest(paths.dist.css))}functionminify(){returngulp.src(paths.src.css).pipe(cleanCSS()).pipe(rename({suffix:'.min',})).pipe(gulp.dest(paths.dist.css));}functionclean(){returndel(['assets/css/*.min.css']);}functionwatchscss(){gulp.watch('assets/scss/*.scss',gulp.series(clean,style));}// 各タスクの宣言exports.style=style;exports.minify=minify;exports.clean=clean;exports.watchscss=watchscss;// タスク設定exports.develop=gulp.series(clean,style);exports.release=gulp.series(clean,style,minify);

package.json

{"name":"toketa","version":"1.0.0","main":"index.js","license":"MIT","devDependencies":{"css-mqpacker":"^7.0.0","del":"^6.0.0","gulp":"^4.0.2","gulp-autoprefixer":"^7.0.1","gulp-clean-css":"^4.3.0","gulp-postcss":"^8.0.0","gulp-rename":"^2.0.0","gulp-sass":"^4.1.0","gulp-sourcemaps":"^2.6.5"},"scripts":{"watch":"watchscss","dev":"gulp develop","rel":"gulp release"},"browserslist":["last 2 versions","ie >= 11","Android >= 4"]}

使えるコマンド

yarn run -s gulp watchscss
Scssファイルを弄った瞬間にcssとmapに変換処理発動、CSSフォルダに変換後の物を出力

yarn run -s gulp develop
CSSフォルダ内から[.min.css]と名のつくファイルをすべて削除して、cssとmapに変換処理発動、CSSフォルダに変換後の物を出力

yarn run -s gulp release
developの処理にミニファイ(圧縮処理)を追加し、CSSフォルダに各.min.cssを出力

勉強させてもらったサイト集

・タスク処理順番の下地(これ手本にしても上手くいかなかった)
https://qiita.com/7110/items/a9ea618f9b9c2687c949#packagejson-%E3%81%AE%E8%A8%98%E8%BF%B0
・メディアクエリをまとめるパッケージの参考
https://bsj-k.com/postcss-mqpacker/
・gulp 4系のgulpfile.jsの書き方
https://ocws.jp/blog/post2095/
・yarn入門
https://ics.media/entry/13838/
・yarn早見表
https://qiita.com/rubytomato@github/items/1696530bb9fd59aa28d8


Viewing all articles
Browse latest Browse all 9044

Trending Articles