gulp|gulp 合并requirejs 问题
【gulp|gulp 合并requirejs 问题】项目使用了实现方法 安装requirejs
由于模块的独立带来了文件过多的问题,导致加载页面时会发起非常多的请求,影响了效率,因此考虑合并为一个文件。备选方案有gulp+require-optimize
,gulp+amd-optimize
以及官方打包工具r.js
,最后选择方案二
npm install amd-optimize
gulpfile.js
...var amdOptimize = require('amd-optimize');
//处理requirejs模块...gulp.task('js', function () {
amdOptimize.src("js/app/home", {
"paths": {
"jquery": "assets/lib/jquery/jquery-1.11.3.min",
"util": "assets/common/util",
"constants": "js/common/constants",
'hdb': 'assets/lib/handlebars/handlebars',
"bootstrap": "assets/lib/bootstrap/bootstrap.min",
"ztree-core": "assets/lib/ztree/js/jquery.ztree.core",
"toast": "assets/lib/toastr/toastr.min",
},
baseUrl: "./"
})
.pipe(concat("index.js"))
.pipe(uglify())
.pipe(gulp.dest('dist/js/')) // 输出文件
.pipe(rev.manifest()) // 生成一个rev-manifest.json
.pipe(gulp.dest('./rev'));
// 将 rev-manifest.json 保存到 rev 目录内
});
遇到的问题
- 一开始使用的
require-optimize
, 不太好用 - 在配置
amd-optimize
的时候,开始使用的gulp.src
导致了一些路径问题,
还配置了configFile
字段也不好用 - 在使用
admOptimize.src
的时候,也经常出现某些依赖的某块找不到的问题,
关键要在paths
字段中指定这些依赖 -
amd-optimize
貌似并不会混淆压缩需要依赖concat
插件和uglify
插件
推荐阅读
- 如何将多个小分子文件合并为单个
- JAVA|JAVA 最好用的大文件切割与合并
- Python实用技法第33篇(字符串连接及合并)
- 两个已排序数组的合并
- git|git 合并两个远程分支
- Leetcode数组easy|Leetcode数组easy | 88. 合并两个有序数组
- Qt实战|Qt+OpenCV联合开发(十三)--通道分离与合并
- Leetcode617.|Leetcode617. 合并二叉树
- 【golang】leetcode初级-合并两个有序数组&第一个错误版本
- Gulp基本概念及应用