基于gulp+requirejs+less的多应用构建方案
适用于中小型业务团队中,多项Web应用产品线的前端的资源构建部署。
例如:某电商公司下,包括主站、商家后台、广告后台、招商平台等各类产品线,gulp-requirejs-boilerplate就可以用一条命令实现对static/views等资源进行模块化打包。
下载gulp代码及编译工具
$ git clone https://github.com/xiongwilee/gulp-requirejs-boilerplate.git my-apps
进入示例目录并安装(推荐使用 cnpm 安装)
$ cd my-apps && npm install
编译代码:用生产环境模式编译所有静态资源
$ gulp build --env=production --mod=example
查看示例,可以使用 static-server 之类的工具
$ cd dist && static-server
然后用浏览器访问: http://localhost:9080/example/views/index.html
Usage: gulp [task] --env=[producition|development] --mod=[应用名]
Example: gulp build --env=production --mod=example
Tasks:
watch 监听模式启动build任务
build 整体编译
build:clean 清空产出目录
build:js 仅仅编译js文件
build:css 仅仅编译css文件
build:image 仅仅编译image文件
build:html 仅仅编译html文件
build:copy 拷贝资源到dist目录
Options:
--env 当前的环境变量,可选:production|development,默认:development
--mod 当前要编译的应用名称,必填
详细配置模块请参看: gulp/gulp.config.js
exports.path = {
app: './', // 应用业务代码路径
dist: './dist', // 产出文件路径
requireConfig: 'static/js/require.config.js' // reqirejs配置文件路径
}
另外你可以在你的业务模块的 build/gulp.options.js 中自行配置独立的 src , filter 配置,请参考: example/build/gulp.options.js
/**
* 业务模块gulp独立配置文件
*/
// 需要操作的文件
exports.src = {
copy: ['example/build/*']
}
// 不需要编译的文件
exports.filter = {
js: [],
css: ['!example/static/css/lib/reset.css']
}