我可以做些什么来更好地组织我的索引中包含的数十个脚本标签?我想将 HTTP 请求降到最低。
2 回答
此问题有 2 个常见的解决方案 - 库级别和应用程序级别。
图书馆
使用一些工具,您可以将所有脚本组合到一个 js 文件中。在 Atma.js 我们使用importer
, 所以 lib. 文件看起来像这样
// import /src/a.js
console.log('do smth. with a');
// import /src/b.js
console.log('do smth. with b, or a');
这种方法比简单的文件连接更好,因为a.js
可能有一些嵌套导入。
还有一些工具可以监视所有源的更改,并且当您编辑任何文件时,该工具会为您运行任务,因此生成的库始终是新鲜的并准备好进行调试。我们也有 UglifyJS,所以也可以制作缩小版。
所以库很好,因为它不需要应用程序本身的任何额外框架/工具。
应用层(模块)
在这里,您使用客户端上的附加库。有很多,其中一些是requirejs,includejs。我们使用最后一个,因为它不仅可以加载javascript,还可以加载coffeescript、样式(css、less)以及任何其他文本/html/模板文件。
包括/要求源,所有嵌套的依赖关系也被加载。在开发模式下,当您分别加载 N 个文件时,它看起来非常适合调试,因为任何异常您都有行号和发生它的文件。
这些工具也有编译器——因此在生产环境中,您可以将所有资源组合到一个 js/css 文件中。
应用层方法modules
引入游戏 - 我不会在这里解释为什么,但它在应用程序中起着巨大的作用。建筑学。
您必须审查这两种方法,并决定在您的应用程序中哪种方法可能更好。有任何进一步的问题,不要犹豫,在评论中问他们。