需要在不同文件中配置
我正在使用requirejs。 我的main.js内容如下。
requirejs.config({ async: true, parseOnLoad: true, packages: [], paths: { jquery: 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min' } }); require(["login"], function (loginService) { loginService.login('validUser'); });
现在,我的配置元素很少。 但是稍后,我将添加包,路径和其他,因此require.config行将增加。
- 我想将require.config作为一个不同的文件分开并使用它?
- 如果jquery加载延迟,是否会发生错误? 我的其他javascript文件正在使用它。
是的,您可以在需要其他任何内容之前需要您的配置,例如:
配置示例:
require.config({ baseUrl: '/Public/js', paths: { jquery: '../../Scripts/jquery-1.10.2.min', jqueryui: '../../Scripts/jquery-ui-1.10.2.min', }, shim: { jqueryui: { deps: ['jquery'] }, } waitSeconds: 3 });
然后我加载它:
require(['/Public/js/config.js'], function() { require(['home/index'], function() { }); });
请记住,您在第一个require语句中通过路径引用config.js,因为base.rs无法解析,因为它尚未加载。 当你到达内部的require() – 语句时,它被加载并且你可以引用相对于baseUrl的依赖项。
-
您可以将配置放入单独的JS文件中,这不是问题。 只需确保在主代码中的require()调用之前加载了该文件。
-
如果您将jQuery用于未通过requireJS加载的其他脚本,如果它们碰巧比jQuery更快加载, 您将收到错误 。 您需要做的是将所有这些静态文件转换为requireJS模块,并通过requireJS加载它们。 通过在每个模块中使用define()函数,您可以设置依赖关系,因此所有模块将在执行自己的代码之前等待jQuery加载。
这是一个基于multipage requires的项目的示例,其中requirejs.config
调用位于单独的文件中
https://github.com/requirejs/example-multipage/tree/master/www