0

好的,所以我有一个使用 SystemJS 管理模块依赖项的项目。

  <head>
    <!-- SystemJS -->
    <script src="jspm_packages/system.js"></script>
    <script src="config.js"></script>
    <script>
     System.import('d3.min.js')
     System.import('fisheye.js')
     System.import('awesomplete.js')
     System.import('graph.js')
    </script>

现在我如何控制模块加载的顺序,而不是通过上面的导入顺序?有没有细粮控制?我可以控制我的“主要”javascript 代码在加载此依赖项或其他依赖项之前或之后启动,还是我必须在加载所有内容后才启动它?框架本身可以记录依赖加载时间吗?

谢谢!

4

1 回答 1

1

解决方案 1

您可能会嵌套订单敏感脚本的导入,但通常它表明代码不正确:

//Sequencial loading
System.import('d3.min.js')
   .then(function() {

      //Sequencial loading
      System.import('fisheye.js')
         .then(function() {

             //Parallel loading
             Promise.all([
                 System.import('awesomplete.js'),
                 System.import('graph.js'),  
             ])
               .then(function() {
                   //Loaded
               });
         });
   });

解决方案 2

您可以创建一个按顺序导入依赖项的脚本:

libs.js

import 'd3.min.js';
import 'fisheye.js';
import 'awesomeplete.js';
import 'graph.js'

索引.html

System.import('libs.js');
于 2015-09-09T13:43:22.397 回答