我在Javascript中构建项目,我想尊重AMD惯例,但我需要从全球环境中获取我的项目(只需添加它的名称)
Dojo是一个完美的例子,因为它正是我想要的:有效的AMD,但Dojo可从全球环境获得。 我试着查看他们的来源,但没有找到他们定义Dojo的地方:/
到目前为止,我提出的唯一解决方案是:
project.js:
var Project = {
// some stuffs in there
};
module.js:
require(['project'], function () {
Project.Module = {
// some stuffs in there
};
});
我知道这不是最好的方法,我相信module.js应该返回{}
,而不是定义它。
最好的方法是什么?
谢谢!
答案 0 :(得分:1)
我认为一个很好的选择是检查定义,如果可用,则将项目定义为模块。
if ( typeof define === "function"){
define('project', [], function(){ return project; })
}