【问题标题】:MeteorJS: Selectively load javascript of each templateMeteorJS:有选择地加载每个模板的javascript
【发布时间】:2015-04-24 20:29:14
【问题描述】:

我注意到流星正在创建和加载每个模板 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>

【问题讨论】:

    标签: javascript node.js meteor meteor-blaze


    【解决方案1】:

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

    现在,在初始页面加载时,您下载了应用中的所有 JavaScript、模板和 css。

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

    【讨论】:

    • 我认为这对流星来说是一个很大的缺点。即使是像现在这样具有前端和管理页面的简单应用程序,即使您只是访问管理页面,也将加载管理和前端的所有 js,否则效率非常低。
    • 一般来说,一个相当大的应用程序的所有 javascript 模板最终仍然比页面上的单个图像小得多,而且大多数 javascript 都不会运行,所以它只是多出几 KB下载您无论如何都不太可能注意到的。这算不上什么大缺点,但可以改进,所以它在路线图上。
    【解决方案2】:

    简短的回答是,您不应该这样做。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      相关资源
      最近更新 更多