Gulp.js 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。Gulp.js 是基于 Node.js 构建的,利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。Gulp.js 源文件和你用来定义任务的 Gulp 文件都是通过 JavaScript(或者 CoffeeScript )源码来实现的。gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。 在 Web 前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这些规律,并编写 gulp 配置代码,让 gulp 自动执行这些“重复工作”。
glup前端配置:
.VS Code 文件夹下添加 tasks.json 文件,内容如下:
{
"version": "0.1.0",
"command": "gulp",
"isShellCommand": true,
"tasks": [
{
"taskName": "default",
"isBuildCommand": true,
"showOutput": "always",
"isWatching": true,
"problemMatcher": "$tsc" }
]
}在项目根目录下创建glupfile.js文件,配制如下:
// Less configurationvar gulp = require('gulp');var less = require('gulp-less');var sass = require('gulp-sass');var sourcemaps = require("gulp-sourcemaps");var concat = require("gulp-concat");var ts = require('gulp-typescript');const tsProject = ts.createProject("tsconfig.json");
gulp.task('less', function() {
gulp.src('./AdminHTML/Content/**/css/*.less')
.pipe(less())
.pipe(gulp.dest(function(f) {
return f.base;
}))
});
gulp.task('sass', function() {
gulp.src('*.scss')
.pipe(sass())
.pipe(gulp.dest(function(f) {
return f.base;
}))
});
gulp.task('typescript', function() {
return gulp.src("scripts/src/**/*.ts")
.pipe(sourcemaps.init())
.pipe(ts(tsProject))
// .pipe(concat("app.js")) .pipe(sourcemaps.write("."))
.pipe(gulp.dest("scripts/dist/"));
});
gulp.task('default', ['less','sass','typescript'], function() {
gulp.watch('./AdminHTML/Content/**/css/*.less', ['less']);
gulp.watch('*.scss', ['sass']);
gulp.watch('scripts/src/**/*.ts', ['typescript']);
})
配制了Less,sass, typescript自动化编译。
接着根目录下创建 tsconfig.json 文件,内容如下:
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false },
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts" ]
}
接着相应的用到的node模块。