需要在不同文件中配置

我正在使用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行将增加。

  1. 我想将require.config作为一个不同的文件分开并使用它?
  2. 如果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的依赖项。

  1. 您可以将配置放入单独的JS文件中,这不是问题。 只需确保在主代码中的require()调用之前加载了该文件。

  2. 如果您将jQuery用于未通过requireJS加载的其他脚本,如果它们碰巧比jQuery更快加载, 您将收到错误 。 您需要做的是将所有这些静态文件转换为requireJS模块,并通过requireJS加载它们。 通过在每个模块中使用define()函数,您可以设置依赖关系,因此所有模块将在执行自己的代码之前等待jQuery加载。

这是一个基于multipage requires的项目的示例,其中requirejs.config调用位于单独的文件中

https://github.com/requirejs/example-multipage/tree/master/www

Interesting Posts