通常情况下,使用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}]
添加回答
举报
0/150
提交
取消