删除 RequireJS 中未使用的填充程序配置
Delete unused shim config in RequireJS?
好的,所以我的问题是我希望能够自动删除我为 RequireJS 设置的填充程序配置的一部分;而不是加载整个缩小的 Bootstrap 文件,我将其拆分为不同的插件,这样当我的应用程序使用较少的 Bootstrap 组件时,我可以获得更小文件大小的好处。例如:
require.config({
paths : {
jquery : 'vendor/jquery/jquery.min',
bootstrap : 'vendor/bootstrap-sass/js'
},
shim : {
'bootstrap/affix': { deps: ['jquery'], exports: '$.fn.affix' },
'bootstrap/alert': { deps: ['jquery'], exports: '$.fn.alert' },
'bootstrap/button': { deps: ['jquery'], exports: '$.fn.button' },
'bootstrap/carousel': { deps: ['jquery'], exports: '$.fn.carousel' },
'bootstrap/collapse': { deps: ['jquery'], exports: '$.fn.collapse' },
'bootstrap/dropdown': { deps: ['jquery'], exports: '$.fn.dropdown' },
'bootstrap/modal': { deps: ['jquery'], exports: '$.fn.modal' },
'bootstrap/popover': { deps: ['jquery'], exports: '$.fn.popover' },
'bootstrap/scrollspy': { deps: ['jquery'], exports: '$.fn.scrollspy' },
'bootstrap/tab': { deps: ['jquery'], exports: '$.fn.tab' },
'bootstrap/tooltip': { deps: ['jquery'], exports: '$.fn.tooltip' },
'bootstrap/transition': { deps: ['jquery'], exports: '$.support.transition' },
}
});
虽然r.js
优化器正确识别我只使用 bootstrap/dropdown
,但它仍然包括未出现在生产代码中的文件的填充程序配置。所以我的问题是我可以自动摆脱未使用的填充程序文件吗?我正在使用grunt-contrib-requirejs
进行实际优化,并且没有任何问题。基于 Grunt 的解决方案会更可取,但我对其他任何事情都持开放态度。谢谢。
总结上面提出的重要观点,并希望结束问题
- 未使用的填充码配置不会被 r 删除.js因为它无法知道您在运行时是否需要它们
- ~175 字节 (gzipped) 不值得手动优化,尤其是作为 200 倍大的有效载荷的一部分,并且不会引起明显的改进
- AMDClean 可能是一种完全取消 AMD 脚本的自动化方法,从而满足您的节省大小的愿望
相关文章:
- 使用Dojo时需要控制台填充程序
- 路径和填充程序的模块配置
- 需要.js填充程序,用于加载 JQuery UI 和其他 JQuery 包
- 需要.js 如何使用插件考虑填充程序配置
- 如何正确配置需要 JS 填充程序
- 如何在 requirejs 中使用填充程序加载 knockout.observableDictionary 插件
- 优化填充程序配置
- 需要.js 事件发射器 2 的填充程序配置
- 将 Bootstrap JS 组件与浏览器化填充程序一起使用
- 自定义 css 属性或部分 css 变量填充程序
- 用于HTML5音频问题的javascript填充程序
- 删除 RequireJS 中未使用的填充程序配置
- RequireJS :处理与填充程序和非AMD加载脚本的jQuery冲突
- 只包含回调的脚本需要JS填充程序
- 我可以使用excanvas或类似的画布填充程序让impact js在IE7和/或8中工作吗
- RequireJS JQuery填充程序不适用于VS2013
- Array.prototype.slice填充程序,用于旧版Internet Explorer中的非阵列
- 使用Web填充程序仅替换日期选择器的UI
- 可以't使用require配置路径和填充程序加载Handlebars
- 无法使用Angular2 Dart应用程序中的CSS(CSS填充程序)