自动加载后续文件

时间:2015-02-25 07:01:20

标签: requirejs

我希望自动加载相关文件,类似于deps的工作原理,但这些文件需要在最初请求后加载。

例如:

require.config({
  baseUrl: '/',
  paths: {
    jquery: '/assets/components/jquery/dist/jquery.min',
    highcharts: '/assets/components/highcharts/highcharts.js', 
    'highcharts.more': '/assets/components/highcharts/highcharts-more.js'
  },
  shim: {
    jquery: { exports: 'jQuery' },
    highcharts: { deps: ['jquery'] },
    'highcharts.more' : { deps: ['highcharts'] },
  }
});

define(function (require) {
  var app = require('assets/js/app');
  app.start();
});

当需要highcharts时,jQuery将自动作为依赖项加载,但Highcharts要求您加载两个文件。

有没有人知道如何加载后续文件,即加载highcharts后自动加载highcharts.more

我可以简单地设置highcharts highcharts-more的依赖关系并加载highcharts-more但是希望有更清洁的方法吗?

希望这有意义吗?!

由于

GAV株系

1 个答案:

答案 0 :(得分:1)

加载highcharts.more并使其成为highcharts的依赖关系是可行的方法。您还可以使用highcharts.more配置隐藏map模块:

map: {
  "*": {
    highcharts: "highcharts.more"
  },
  "highcharts.more": {
    highcharts: "highcharts"
  }
}

上面的映射在请求*的所有模块(highcharts)中显示"而是加载highcharts.more,但highcharts.morehighcharts请求加载highcharts"。

有了这个,您可以将highcharts列为实际模块中的依赖项。