【发布时间】:2015-08-05 17:05:20
【问题描述】:
在加载主索引页面时是否必须包含我的所有 javascript 文件?
在我们未登录的单页应用程序中,我们将所有 .js 文件包含在主索引文件中。其中包含只有用户登录时才需要的js文件。
在这种情况下管理 Angular 应用程序的更好方法是什么?
【问题讨论】:
标签: javascript angularjs file login single-page-application
在加载主索引页面时是否必须包含我的所有 javascript 文件?
在我们未登录的单页应用程序中,我们将所有 .js 文件包含在主索引文件中。其中包含只有用户登录时才需要的js文件。
在这种情况下管理 Angular 应用程序的更好方法是什么?
【问题讨论】:
标签: javascript angularjs file login single-page-application
简单的回答:是的。
您的应用程序是单页的,因此您可以将所有 JS 文件合并为一个并在一次请求时加载它。为以后的处理节省时间。
或者,创建两个页面login.html和others.html,然后分别加载两组不同的JS文件。
通常,现在带宽不是瓶颈,加载更大的 JS 文件不会有问题(通常)。
【讨论】:
您可以将代码拆分为多个模块,然后只需加载该模块所需的 js。
我建议在适当的时候使用带有包的 Gulp 来注入 HTML。然后,您将单行代码作为 Javascript 的占位符,并运行 Gulp 任务将 Javascript 注入需要的区域。
你也可以运行 gulp 任务来将你的 js 压缩成几个压缩文件。您需要确保您的 js 安全(gulp 也可以这样做)。
【讨论】:
如果您制作 AMD - 大多数情况下使用 RequireJS - 那么您不需要从一开始就包含所有内容。
不久前我们做了一个类似的项目,虽然没有使用 AngularJS,但是通过使用 RequireJS,我们制作了不同的页面,这些页面使用了不同的文件。这样一来,如果人们从不访问某些页面,他们的浏览器将永远不会下载某些文件。
(当然,我们在应用程序中有很多页面,而不仅仅是 2 或 3 个,这不会有任何区别。)
【讨论】: