搭建express+bs+gulp的目地是实现mock server
通过一行命令
gulp
,实现mock server的启动和bs的监控
'use strict'
let gulp = require('gulp');
let sass = require('gulp-sass');
let jshint = require('gulp-jshint');
let minify = require("gulp-clean-css");
const browserSync = require("browser-sync").create();
let reload = browserSync.reload;
let ts = require("gulp-typescript");
let tsProject = ts.createProject("tsconfig.json");
let nodemon = require("gulp-nodemon");
let paths = ["src/*.html", "src/*/*.html", "src/*/*/*.html"];
let watchPaths = ["src/*", "src/*/*", "src/*/*"];
gulp.task("html", function() {
return gulp.src(paths)
.pipe(gulp.dest("dist"))
})
gulp.task("ts", function() {
return tsProject.src()
.pipe(ts(tsProject))
.js.pipe(gulp.dest("dist/js"));
})
gulp.task("js", function() {
return gulp.src("src/*.js")
.pipe(jshint())
.pipe(gulp.dest("dist"))
})
gulp.task("sass", function() {
return gulp.src("src/sass/*.scss")
.pipe(sass())
.pipe(minify())
.pipe(gulp.dest("dist/css"))
})
gulp.task("reload", function() {
reload(['dist/*/*.*', 'dist/*', 'dist/*/*.*']);
})
gulp.task("server", function() {
nodemon({
script: 'app.js',
ignore: ['.vscode', '.idea', 'node_modules'],
env: {
'NODE_ENV': 'development'
}
})
.on('start', function() {
browserSync.init({
proxy: "localhost"
// server: {
// baseDir: "localhost/router/dist",
// index: "index.html"
// }
})
})
});
let tasks = ['html', 'js', 'sass','ts','reload'];
gulp.task("default", ["html", "js", "sass","ts", "server", "reload"], function() {
gulp.watch(['src/*/*.*', 'src/*', 'src/*/*/*'], tasks);
})
terminal下输入gulp,浏览器自动打开
localhost:3000
,出现403Forbidden
nginx/1.8.0
terminal输入后是这样的:
浏览器是这样显示的:
随便更改个地方会重启,提示报错
目录结构通过express
生成的,做了部分修改
app.js文件(改动处已标记)
package.json文件
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...