【发布时间】:2015-01-07 19:00:42
【问题描述】:
事情是这样的,
我来自一个网页中包含几个 js 文件的世界。 有些总是包含在页面中(您的库、菜单等...),其他的则取决于当前页面(用于登录页面的 js,用于订阅的 js 等。 ..)。 基本上假设我有 每页 1 个不同的 js 文件加上库。
现在我想用 browserify 开始一个新项目,但我遇到了一个大问题:
- 在我见过的所有示例中,总是有一个入口点(如 app.js)。
- 就我而言,我会有 n 个入口点(每页 1 个)。
所以我的问题是:
- 每页有 1 个入口点是否违反良好做法?为什么 ?
- 如果是,对于具有大量特定于页面的 JS 的大型应用程序进行浏览化的良好做法是什么?
- 如果否,如何使用 Gulp 实现自动化。在我发现的每个例子中。您必须知道每个文件的名称并一个接一个地处理它。 (这在一个有数百页的大型项目中非常烦人)
- 您在项目中是如何处理这个问题的?我是否必须彻底重新考虑处理特定于页面的 JS 代码的方式?
【问题讨论】:
-
我很少有页面特定的 javascript,当我这样做时,该页面会获得一个额外的 js 文件。就这么简单。
-
我不在单页应用程序中,所以我对几乎每个 dom 加载事件都有一些特定的页面。如果你知道一种方法(模式、良好实践……)为多页面应用程序编写 90% 的通用 JS,我非常感兴趣!
-
主要思想是将所有页面共享的依赖关系捆绑到一个文件中,然后为每个页面创建一个单独的文件。这个想法的目标是最大化来自每个页面视图的浏览器缓存的代码量,同时最小化文件大小。如果每个页面都使用 jQuery,下面公认的解决方案将导致大量冗余代码。
-
您可能要求stealjs.com 我不喜欢这些文档,但 2 个项目示例非常简单,stealjs 刚刚在我的第一次尝试中工作!但是,我暂时不会使用它,因为捆绑工具不能很好地与 CDN 上的库配合使用(或者因为我没有弄清楚如何使它工作)
标签: javascript gulp browserify commonjs