如何降低javascript min文件的重量?

如何降低javascript min文件的重量?,javascript,jquery,twitter-bootstrap,three.js,swiper,Javascript,Jquery,Twitter Bootstrap,Three.js,Swiper,我有一个具有不同功能的javascript文件(它的重量约为100kb)和一些其他javascript插件:three.js(480kb)、bootstrap modal.js和collapse.js(16kb)、debouce.js(731b)、swiper.js(87kb) 问题是,我没有在每个页面中使用所有函数或插件,因此在进行任何函数调用之前,我添加了类似于if($(selector).length)的内容,这样我就不会出现任何错误,但我认为最好使用一分钟文件,每个页面只包含相关函数和插

我有一个具有不同功能的javascript文件(它的重量约为100kb)和一些其他javascript插件:three.js(480kb)、bootstrap modal.js和collapse.js(16kb)、debouce.js(731b)、swiper.js(87kb)

问题是,我没有在每个页面中使用所有函数或插件,因此在进行任何函数调用之前,我添加了类似于
if($(selector).length)
的内容,这样我就不会出现任何错误,但我认为最好使用一分钟文件,每个页面只包含相关函数和插件

比如说:

  • 所有网站都需要:
    常规功能()
  • 索引要求:
    three_js_相关函数()
    +
    swiper_js_函数()
    +
    gallery_函数()
    +swiper.js+three.js+debounce.js
  • 存储要求:
    swiper\u js\u函数()
    +swiper.js
  • 页面和单曲可能需要:
    gallery\u functions()
    +
    swiper\u js\u functions()
    +swiper.js
我还担心它的可扩展性和可维护性


我应该继续使用
if($(selector).length)
和一个大的javascript文件,还是最好创建不同的文件来分发我的函数和一个包含各种可能组合的min文件?

听起来像是RequireJS的工作-你应该合理地按照自己的喜好编写代码。这一切都取决于您如何交付最终代码。Requirejs将起作用。另一种方法是使用remove logging和uglify来咕哝文件,这是我更喜欢的方法。无论您走哪条路线,您都可以配置服务器,使其能够动态压缩文件。只要您的服务器配置正确,浏览器将自动在加载时解压缩它们。@Keith.Abramo谢谢,我一定会尝试RequireJS。@Radio我目前正在使用CodeKit缩小和管理我的SASS和JS,我发现它建议使用Glup而不是CodeKit或Grunt。这很好,只是确保您正在这样做。我想我看到了你现在得到的东西,在丑陋化/小型化无法处理本机代码的地方,你正在寻找巧妙使用语法的方法来减少。requirejs是一个不错的选择。听起来像是requirejs的工作——你应该在合理的范围内编写你喜欢的代码。这一切都取决于您如何交付最终代码。Requirejs将起作用。另一种方法是使用remove logging和uglify来咕哝文件,这是我更喜欢的方法。无论您走哪条路线,您都可以配置服务器,使其能够动态压缩文件。只要您的服务器配置正确,浏览器将自动在加载时解压缩它们。@Keith.Abramo谢谢,我一定会尝试RequireJS。@Radio我目前正在使用CodeKit缩小和管理我的SASS和JS,我发现它建议使用Glup而不是CodeKit或Grunt。这很好,只是确保您正在这样做。我想我看到了你现在得到的东西,在丑陋化/小型化无法处理本机代码的地方,你正在寻找巧妙使用语法的方法来减少。requirejs是一条路要走。