如何从旧的非AMD Javascript代码调用RequireJS模块?

时间:2015-04-28 12:29:42

标签: javascript requirejs amd

我现在正在尝试使用RequireJS来模拟我的javascript代码。我有2个JS文件(让我们说A和B)。 A是一个大文件,包含我的html页面的主要代码。 B是一个小型实用程序库,设计用于将来A和任何其他代码。

我的计划是首先模拟B,因为B很小。在此之后,我可以在将来使用RequireJS编写所有新代码并使用B.另一方面,我将逐渐模块化A.我现在关注的是,在我模块化B之后,文件A是否可以继续使用代码B这样我的应用程序可以正常工作吗?

我无法找到任何相关信息。欢迎任何建议,文章或示例代码。

1 个答案:

答案 0 :(得分:1)

我自己找到了答案。实际上它非常直接。只需在旧代码中使用RequireJS即可。例如,如果我需要通过RequireJS在我的旧非模块化代码中使用JQuery,我只需要:

首先在main.js中配置JQuery

requirejs.config({
  baseUrl : '../js',
  paths : {
    'jquery' : 'jquery/jquery-1.10.2'
  },
  }
});

并在html中添加main.js

<script type="text/javascript" src="../js/require.js" data-main="../js/main.js"></script>

然后在旧代码中,使用函数requirejs询问模块(在本例中为JQuery)并调用模块的函数。

  requirejs([ 'jquery' ],function(jquery)
  {
    jquery('#id').on('click',function(event){...});
  });

通过这种方式,人们总是可以逐步从大型,旧的和非模块化的JavaScript文件中逐步模拟代码。