AngularJs SPA Javascript文件

时间:2015-08-05 17:05:21

标签: javascript angularjs file login single-page-application

加载主索引页时我是否必须包含所有javascript文件?

在我们未登录的单页面应用程序中,我们在主索引文件中包含了所有.js文件。这包含仅在用户登录时才需要的js文件。

在这种情况下管理角度应用程序的更好方法是什么?

3 个答案:

答案 0 :(得分:0)

简单回答:是的。

您的应用程序是单页应用程序,因此您可以将所有JS文件合并为一个并在一个请求中加载它。它节省了将来处理的时间。

或者,创建两个页面from itertools import groupby def summarize_inventory(inventory): # We use -price so that we are also sorting by descending price sort_key = lambda (code, (cat, price, sold)): (cat, -price) group_key = lambda (code, (cat, price, sold)): cat new_dict = {} sorted_inventory = sorted(inventory.iteritems(), key=sort_key) for cat, group in groupby(sorted_inventory, key=group_key): group = list(group) if len(group) > 1: for (code, item) in group[:2]: new_dict[code] = item return new_dict >>> summarize_inventory(inventory) {'B': ['Toy', 8, 1100], 'C': ['Cloth', 15, 1200], 'E': ['Toy', 11, 1400], 'F': ['Cloth', 18, 1500]} ,然后相应地加载两组不同的JS文件。

通常情况下,现在带宽不是瓶颈,加载更大的JS文件并不会造成麻烦(通常)。

答案 1 :(得分:0)

您可以将代码拆分为多个模块,然后只加载该模块所需的js。

我建议在适当的时候使用Gulp和包注入HTML。然后,您可以使用单行代码作为Javascript的占位符,并运行Gulp任务以将Javascript注入需要它的区域。

你也可以运行gulp任务来将你的js缩小为几个缩小的文件。您需要确保您的js在最小安全(gulp也可以这样做)。

答案 2 :(得分:0)

如果您制作AMD - 最常使用RequireJS - 那么您不需要从一开始就包含所有内容。

不久前我们做了一个类似的项目,虽然没有AngularJS,并且通过使用RequireJS我们制作了不同的页面,它们使用不同的文件。这样,人们的浏览器永远不会下载某些文件,如果他们从未进入某些页面。

(当然,我们在应用程序内部有很多页面,而不仅仅是2或3,这不会有任何区别。)