2012-12-08 26 views
0

我正在学习如何使用require.js。我想这样定义模块:使用require.js进行跨域定义

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

的问题是,我的主页是不同的域在的“http://本地主机:62607 /”,所以我得到的演示看有一个404错误。

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

所以,如果我定义演示,如:

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

一切工作正常,但我更喜欢更具可读性的第一个版本。

有什么可以做到这一点?

感谢

回答

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

+0

谢谢。正是我需要的。只需包含baseUrl并记住并删除.js。例如。当引用prenter.js时。 – davy

相关问题