使用require.js进行跨域定义

时间:2012-12-08 19:21:56

标签: javascript jquery requirejs

我正在学习如何使用require.js。我试图定义这样的模块:

define('presenter', ['jquery'].......

问题是我的主页位于'http:// localhost:62607 /'的不同域上,所以我在那里找到了404错误,寻找主持人。

Presenter实际上位于此处:'http:// localhost:62588 / scripts / app / presenter'。

因此,如果我将演示者定义为:

define('http://localhost:62588/scripts/app/presenter', ['jquery'],

一切正常,但我更喜欢更易阅读的第一版。

有什么可以做到的吗?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用requireJS配置中的baseUrlpath属性来实现此目的。

来自requireJS文档:

requirejs.config({
  //By default load any module IDs from js/lib
  baseUrl: 'js/lib',
  //except, if the module ID starts with "app",
  //load it from the js/app directory. paths
  //config is relative to the baseUrl, and
  //never includes a ".js" extension since
  //the paths config could be for a directory.
  paths: {
    app: '../app'
  }
});

如果您定义名为app的模块,requireJS将在../app

中查找