Gulpでの環境構築まとめ~Pug/Sass/TypeScript/BrowserSync~
はじめに
フロントエンドの開発をする際に、なるべく現場に近い環境を構築して開発したいなと思ったのでまとめました。
リポジトリ←公開しています。
使う場合
git clone https://github.com/chobi1125/gulp-dev.git // ローカルにダウンロード
npm i // 諸々インストール
gulp // 起動・自動コンパイル
下記と組み合わせれば割と環境構築はOK!(と思いたい。)
※windowsで環境構築しています。
✅参考
各プラグインについてまとめてくれている。
gulpとbabelとwebpackというフロント開発3銃士
概要掴める。※実際に環境構築するまではちんぷんかんぷんでした。
環境構築
✅概要
今回は以下の機能を使えるようにしていきたいと思います。
HTMLはPug
CSSはSass
JavaScriptはTypeScript
サーバーはBrowser-sync
上記をGulpで実行管理していこうと思います。
✅環境構築
package.jsonの作成
npm init -y
プラグインのインストール
npm install -D gulp gulp-sass gulp-pug browser-sync gulp-typescript typescript
gulpfile.jsを作成
const gulp = require('gulp');
pug = require('gulp-pug');
sass = require('gulp-sass');
typescript = require('gulp-typescript');
browserSync =require("browser-sync");
// サーバー起動
gulp.task("browser-sync", () => {
browserSync({ server: {
baseDir: "./dist",
index : "index.html"
}
})
})
gulp.task('pug', () => {
// .pugファイルを取得
return gulp.watch('./src//*.pug', function(){
// gulp.src('取得するファイル') タスクの対象となるファイルを取得
return(
gulp.src(
['./src//.pug', '!./src//_.pug']
)
// pipe() 1つ一つの処理をつなげる。
.pipe(pug({
pretty: true
}))
// gulp.dest('保存先フォルダー') 処理を行ったファイルを指定の場所に保存
.pipe(gulp.dest('./dist'))
);
})
});
// style.scssをタスクを作成する
gulp.task("sass", function() {
return gulp.watch('./src/scss/.scss', function(){
// style.scssファイルを取得
return (
gulp
.src('./src/scss/.scss')
// Sassのコンパイルを実行
.pipe(sass())
// cssフォルダー以下に保存
.pipe(gulp.dest("./dist/css"))
);
})
});
gulp.task('ts', function() {
return gulp.watch('./src/ts/.ts', function(){
return(
gulp
.src('./src/ts/.ts')
.pipe(typescript())
.pipe(gulp.dest('./dist/js'))
);
})
});
gulp.task('default', gulp.series( gulp.parallel('browser-sync', 'sass', 'pug', 'ts')));
http://localhost:3000/へアクセスして確認。
おわりに
ちゃんとメモったので次からスムーズに環境構築できるようにしたい。
言い訳はできなくなったので、ちゃんとPug/Sass/TypeScriptを使ってアプリ制作取り組んでいこうと思います。笑
Author And Source
この問題について(Gulpでの環境構築まとめ~Pug/Sass/TypeScript/BrowserSync~), 我々は、より多くの情報をここで見つけました https://qiita.com/masaru1125/items/81f48e710f6cae585981著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .