Gulp-livereload、-webserver 和 -embedlr。如何一起使用它们?
Gulp-livereload, -webserver and -embedlr. How to use them together?
我试图了解如何将 gulp 与这些有用且流行的插件一起使用。有我有的:
- 在 localhost:8000
上运行了 go(lang) 服务器
- static/local html app 文件夹下的文件,服务器用来形成页面
同目录下的- scss个文件,转换成css然后自动加前缀
这是我的 gulpfile.js:
var gulp = require('gulp'),
sass = require('gulp-sass'),
watch = require('gulp-watch'),
autoprefixer = require('gulp-autoprefixer'),
livereload = require('gulp-livereload');
// "./" - it's "app" directory
gulp.task('default', function() {
return gulp.src('./*.scss')
.pipe(watch('./*.scss'))
.pipe(sass())
.pipe(autoprefixer('> 5%'))
.pipe(gulp.dest('./'));
});
所以我需要的是:
- 观察 html、css/scss 文件以进行更改并在 localhost:8000 上重新加载(chrome 的打开选项卡)
- 如果不需要用就好了:
- livereload chrome 插件
- expressjs 框架
- 重新加载 html 页面,如果它直接打开就像没有服务器的文件一样
我读到可以通过使用 gulp-embedlr 和 gulp-webserver。如果可以,怎么做?
好的,我找到的最佳解决方案是使用 Gulp + BrowserSync!这是很好的解决方案。
这是我的代码 gulpfile.js:
var gulp = require('gulp'),
sourcemaps = require('gulp-sourcemaps'),
sass = require('gulp-sass'),
watch = require('gulp-watch'),
autoprefixer = require('gulp-autoprefixer'),
browserSync = require('browser-sync'),
reload = browserSync.reload;
gulp.task('browserSync', function() {
browserSync({
//logConnections: false,
//logFileChanges: false,
notify: false,
open: false,
server: {
baseDir: "./"
}
});
});
gulp.task('sass', function() {
return gulp.src('./css/*.scss')
.pipe(sourcemaps.init())
.pipe(sass())
.pipe(autoprefixer('> 5%'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./css'))
.pipe(reload({stream:true}));
});
gulp.task('watch', function() {
gulp.watch('./css/*.scss', ['sass']);
gulp.watch('./*.html', reload);
});
gulp.task('default', ['watch', 'sass', 'browserSync']);
解释上面的代码没有任何意义。请阅读此内容:http://www.browsersync.io/docs/gulp/
我试图了解如何将 gulp 与这些有用且流行的插件一起使用。有我有的:
- 在 localhost:8000 上运行了 go(lang) 服务器
- static/local html app 文件夹下的文件,服务器用来形成页面 同目录下的
- scss个文件,转换成css然后自动加前缀
这是我的 gulpfile.js:
var gulp = require('gulp'),
sass = require('gulp-sass'),
watch = require('gulp-watch'),
autoprefixer = require('gulp-autoprefixer'),
livereload = require('gulp-livereload');
// "./" - it's "app" directory
gulp.task('default', function() {
return gulp.src('./*.scss')
.pipe(watch('./*.scss'))
.pipe(sass())
.pipe(autoprefixer('> 5%'))
.pipe(gulp.dest('./'));
});
所以我需要的是:
- 观察 html、css/scss 文件以进行更改并在 localhost:8000 上重新加载(chrome 的打开选项卡)
- 如果不需要用就好了:
- livereload chrome 插件
- expressjs 框架
- 重新加载 html 页面,如果它直接打开就像没有服务器的文件一样
我读到可以通过使用 gulp-embedlr 和 gulp-webserver。如果可以,怎么做?
好的,我找到的最佳解决方案是使用 Gulp + BrowserSync!这是很好的解决方案。
这是我的代码 gulpfile.js:
var gulp = require('gulp'),
sourcemaps = require('gulp-sourcemaps'),
sass = require('gulp-sass'),
watch = require('gulp-watch'),
autoprefixer = require('gulp-autoprefixer'),
browserSync = require('browser-sync'),
reload = browserSync.reload;
gulp.task('browserSync', function() {
browserSync({
//logConnections: false,
//logFileChanges: false,
notify: false,
open: false,
server: {
baseDir: "./"
}
});
});
gulp.task('sass', function() {
return gulp.src('./css/*.scss')
.pipe(sourcemaps.init())
.pipe(sass())
.pipe(autoprefixer('> 5%'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./css'))
.pipe(reload({stream:true}));
});
gulp.task('watch', function() {
gulp.watch('./css/*.scss', ['sass']);
gulp.watch('./*.html', reload);
});
gulp.task('default', ['watch', 'sass', 'browserSync']);
解释上面的代码没有任何意义。请阅读此内容:http://www.browsersync.io/docs/gulp/