如何从旧的非 AMD Javascript 代码调用 RequireJS 模块?
How to invoke RequireJS modules from old non-AMD Javascript code?
我现在正尝试使用 RequireJS 模块化我的 javascript 代码。我有 2 个 JS 文件(比方说 A 和 B)。 A 是一个大文件,其中包含我的 html 页面的主要代码。 B 是一个小型实用程序库,旨在供 A 和将来的任何其他代码使用。
我打算先把B模块化,因为B很小。之后我以后可以用RequireJS写所有的新代码,然后使用B。另一方面我会逐渐模块化A。我现在关心的是,我模块化了B之后,有没有办法让文件A继续使用代码B 以便我的应用程序可以正常工作?
我找不到任何相关信息。欢迎任何建议、文章或示例代码。
我只是自己找出答案。实际上它非常简单。只需在旧代码中使用 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 文件中逐步模块化代码。
我现在正尝试使用 RequireJS 模块化我的 javascript 代码。我有 2 个 JS 文件(比方说 A 和 B)。 A 是一个大文件,其中包含我的 html 页面的主要代码。 B 是一个小型实用程序库,旨在供 A 和将来的任何其他代码使用。
我打算先把B模块化,因为B很小。之后我以后可以用RequireJS写所有的新代码,然后使用B。另一方面我会逐渐模块化A。我现在关心的是,我模块化了B之后,有没有办法让文件A继续使用代码B 以便我的应用程序可以正常工作?
我找不到任何相关信息。欢迎任何建议、文章或示例代码。
我只是自己找出答案。实际上它非常简单。只需在旧代码中使用 RequireJS。例如,如果我需要通过 RequireJS 在我的旧非模块化代码中使用 JQuery,我只需要:
首先在 main.js
中配置 JQueryrequirejs.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 文件中逐步模块化代码。