0
我在一個Node環境中,爲SASS運行gulp,爲模板運行EJS,並且我還想讓Browser Sync工作。我無法配置我的gulp文件。如果我運行'node server.js',我的應用程序在瀏覽器中運行,並且EJS正常工作,但是我沒有使用Browser Sync工作。如果我運行gulp,那麼在瀏覽器中會出現'Can not GET /'。瀏覽器同步,EJS,Gulp和節點 - 正在獲取設置
請注意我是Node的新手,所以如果你可以在你的答案中包含任何解釋,這將幫助我學習,並非常感激!
這裏是我的gulpfile:
var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync').create();
var runSequence = require('run-sequence');
var ejs = require("gulp-ejs");
gulp.task('default', function(callback) {
runSequence(['browserSync', 'watch', 'ejs'], callback);
});
gulp.task('ejs', function(){
return gulp.src('views/html/**/*.ejs')
.pipe(ejs({}, {ext:'.html'}))
.pipe(gulp.dest('dist/html/'));
});
gulp.task('sass', function() {
return gulp.src('sass/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('public/css/sass'))
.pipe(browserSync.reload({
stream:true
}));
});
gulp.task('watch', ['browserSync', 'ejs'], function() {
gulp.watch('./scss/*.scss', ['sass']);
gulp.watch('./views/html/**/*.html', browserSync.reload);
gulp.watch('./views/html/**/*.ejs', browserSync.reload);
gulp.watch('./public/js/**/*.js', browserSync.reload);
gulp.watch('views/html/**/*.ejs', ['ejs']);
});
gulp.task('browserSync', function() {
browserSync.init({
server: {
baseDir: './'
},
});
});
這裏是server.js:
var express = require('express');
var app = express();
var gulp = require('gulp');
gulp.task('default', function(arg) {
});
// set the view engine to ejs
app.set('view engine', 'ejs');
// use res.render to load up an ejs view file
// index page
app.get('/', function(req, res) {
res.render('index');
});
app.listen(3000);