MeteorJS:有选择地加载每个模板的javascript

时间:2015-04-24 01:15:41

标签: javascript node.js meteor meteor-blaze

我注意到meteor正在创建并加载每个模板javascript文件。是否可以有选择地加载每个模板的javascript?因为我的应用为我的每个用户生成模板文件。因此,如果是这种情况,则将每个用户的模板javascript加载到页面。那不太理想。

的index.html

<script type="text/javascript" src="/client/views/themes/jnr8tWHJ6JTARPpYa/plate_jnr8tWHJ6JTARPpYa_cart.jade.js?4e6fe10676dcbfd5eec51f802ab604bf7afefdfc"></script>
<script type="text/javascript" src="/client/views/themes/jnr8tWHJ6JTARPpYa/plate_jnr8tWHJ6JTARPpYa_footer.jade.js?c904832f29a144cc6a3c53b8fc4159088d427ce9"></script>
<script type="text/javascript" src="/client/views/themes/jnr8tWHJ6JTARPpYa/plate_jnr8tWHJ6JTARPpYa_header.jade.js?02a4f5e9a4a697194e32a16bee9209fa9a63422a"></script>
<script type="text/javascript" src="/client/views/themes/jnr8tWHJ6JTARPpYa/plate_jnr8tWHJ6JTARPpYa_home.jade.js?91d90f326d7da8db94396648b81f88c739691754"></script>
<script type="text/javascript" src="/client/views/themes/jnr8tWHJ6JTARPpYa/plate_jnr8tWHJ6JTARPpYa_product.jade.js?3eed90e15d544fb8e4d5418c641a51ce94c048b2"></script>
<script type="text/javascript" src="/client/views/themes/jnr8tWHJ6JTARPpYa/plate_jnr8tWHJ6JTARPpYa_search.jade.js?08b0b0b4e02599e9ceaac00b94515a1ee7638036"></script>

2 个答案:

答案 0 :(得分:2)

但这不可能,但是在路线图上:Incremental loading。根据那张卡片:

  

现在,在初始页面加载时,您可以在应用程序中下载所有JavaScript,模板和CSS。

如果您在文件系统中为每个使用您应用的用户生成一个唯一文件,您可能需要重新考虑如何构建应用。您是否真的需要为每个用户创建一个新模板,或者您是否可以使用一个模板完成它并根据当前显示/登录的用户进行更新?

答案 1 :(得分:0)

简短的回答是,你不应该。

This answer解释了选择性加载的优雅方法,并解释了为什么不应该这样做。

考虑到这样的事实:在初始页面加载后(对于中型应用程序可能为2MB - 5MB),浏览器会缓存所有内容,而通过网络传输的所有内容都是纯数据。