- 2025/10/30
- Category :
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ステップアップしていくブログです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
$ cd project_dir
$ mkdir -p src/scss
$ mkdir -p public/assets/css
$ cat src/css/style.scss
$bgcolor: #efefef;
body {
background: $bgcolor;
}
$ cat gulpfile.js
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var es = require('event-stream');
var sass = require('gulp-sass');
gulp.task('script', function(callback) {
var sc = gulp.src(['src/js/*.js'])
.pipe(concat('all.js'))
.pipe(uglify())
.pipe(gulp.dest('public/assets/js'));
var br = browserify({
debug: true,
entries: ['public/assets/js/all.js']
}).bundle()
.pipe(source('all.js'))
.pipe(gulp.dest('public/assets/js'));
return es.merge(sc, br);
});
gulp.task('style', function(callback) {
return gulp.src(['src/scss/*.scss'])
.pipe(sass())
.pipe(gulp.dest('public/assets/css'));
});
gulp.task('hoge', function(callback) {
console.log('hoge');
});
gulp.task('default', ['script', 'style']);
$ npm install --save-dev gulp-sass
$ gulp
$ cat public/assets/css/style.css
body {
background: #efefef; }
$ npm install --save-dev gulp-pleeease
$ cat src/scss/style.scss
$bgcolor: #efefef;
body {
background: $bgcolor;
}
.box {
display: flex;
}
$ cat gulpfile.js
...
var pleeease = require('gulp-pleeease');
...
gulp.task('style', function(callback) {
return gulp.src(['src/scss/*.scss'])
.pipe(sass())
.pipe(pleeease())
.pipe(gulp.dest('public/assets/css'));
});
…
$ cat public/assets/css/style.css
body {
background: #efefef; }
.box {
display: flex; }
$ cat public/assets/css/style.css
body{background:#efefef}.box{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}
$ cd project_dir $ mkdir -p src/js $ mkdir -p public/assets/jsgulpのインストール。
$ npm init $ npm install --save-dev gulp $ echo 'export PATH=$PATH:/hoge/www/project_dir/node_modules/.bin' >> ~/.bashrc $ source ~/.bashrcこれで、
$ gulp -v [22:00:00] CLI version 3.8.11 [22:00:00] Local version 3.8.11OKですね。
$ cat gulpfile.js
'use strict';
var gulp = require('gulp');
gulp.task('hoge', function (callback) {
console.log('hoge');
});
gulp.task('default', ['hoge']);
これで、$ gulp [22:05:00] Using gulpfile ~/www/project_dir/gulpfile.js [22:05:00] Starting 'hoge'... hoge大丈夫ですね!
$ cat gulpfile.js
'use strict';
var gulp = require('gulp');
gulp.task('script', function (callback) {
return gulp.src(['src/js/*.js'])
.pipe(gulp.dest('public/assets/js'));
});
gulp.task('hoge', function (callback) {
console.log('hoge');
});
gulp.task('default', ['script']);
$ cat src/js/a.js
(function(global) {
'use strict';
console.log('happy!');
})((this || 0).self || global);
これで、$ gulp $ ls public/assets/js/ . .. a.js出力されています!
$ cat src/js/b.js
(function(global) {
'use strict';
console.log('lucky!');
})((this || 0).self || global);
$ cat gulpfile.js
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
gulp.task('script', function (callback) {
return gulp.src(['src/js/*.js'])
.pipe(concat('all.js'))
.pipe(gulp.dest('public/assets/js'));
});
gulp.task('hoge', function (callback) {
console.log('hoge');
});
gulp.task('default', ['script']);
連結用にgulp-concatをインストールします。$ npm install --save-dev gulp-concat $ gulp $ ls public/assets/js/ . .. a.js all.js出来ました!
$ node public/assets/js/all.js happy! lucky!d(^^)b
$ cat gulpfile.js
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('script', function (callback) {
return gulp.src(['src/js/*.js'])
.pipe(concat('all.js'))
.pipe(uglify())
.pipe(gulp.dest('public/assets/js'));
});
gulp.task('hoge', function (callback) {
console.log('hoge');
});
gulp.task('default', ['script']);
$ npm install --save-dev gulp-uglify
$ gulp
$ cat public/assets/js/all.js
!function(l){"use strict";console.log("happy!")}((this||0).self||global),function(l){"use strict";console.log("lucky!")}((this||0).self||global);
これくらいの小ささだとあまり圧縮の効果もありませんが。。$ npm install --save-dev bower $ npm install --save-dev browserify $ npm install --save-dev debowerify $ npm install --save-dev vinyl-source-stream $ npm install --save-dev event-stream $ bower init $ bower install --save jquerypackage.jsonへ以下の記述を追加します。
"browserify": {
"transform": [
"debowerify"
]
}
$ cat src/js/a.js
(function(global) {
'use strict';
var $ = require('jquery');
$('#btn').click(function() {
alert('happy!');
});
})((this || 0).self || global);
$ cat gulpfile.js
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var es = require('event-stream');
gulp.task('script', function (callback) {
var sc = gulp.src(['src/js/*.js'])
.pipe(concat('all.js'))
.pipe(uglify())
.pipe(gulp.dest('public/assets/js'));
var br = browserify({
debug: true,
entries: ['public/assets/js/all.js']
}).bundle()
.pipe(source('all.js'))
.pipe(gulp.dest('public/assets/js'));
return es.merge(sc, br);
});
gulp.task('hoge', function (callback) {
console.log('hoge');
});
gulp.task('default', ['script']);