猿问

requirejs 打包重复问题

通常情况下,使用rquirejs打包的场景,页面都是一个公用的文件,一个私有的页面启动文件。
requirejs只能判断当前文件打包是否重复,却无法来判断页面引入的不同文件之间的重复问题。
当页面引用文件为两个的情况下,可以人工避免文件打包重复的问题(直接在公用文件中合并);但是,页面文件引用数在2-3个时候,这个就比较头疼了。
比如:global.js全局公用,column.js是某个栏目文件,app.js是当前页面私有js。
当column.js和app.js都涉及了某个组件dialog.js时,为了防止重复打包该文件,我可以在column.js中做对dialog.js的rquire操作,而app.js中就不需要该步骤了。但是,某天,我要去掉column.js对dialog.js的依赖,而app.js依然有此依赖,怎么办?
又得一个个地手工改app.js代码?
----------------------更新----------------
实践了下,可以针对global.js,column.js涉及到的插件进行过滤配置。
比如:
vargbExcludeArr=['dialog','datepicker'];
varcolumnExcludeArr=['validator'].concat(gbExcludeArr);
//打包配置
modules:[{
name:'global'
},{
name:'column'
},{
name:'app1',//app1.js并不丛属于某个栏目页面
exclude:gbExcludeArr
},{
name:'app2',//app2.js丛属于某个栏目页面
exclude:columnExcludeArr
}]
jeck猫
浏览 621回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答