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模块。