我改变了一个项目,从“旧”的浏览器式模块结构,以“新”浏览器的或 - 服务器端的JavaScript模块结构与require.js。从HTML元素RequireJs模块调用的方法,如onclick处理
在我使用的是异地客户托管的jQuery,所以我从他们自述的"use priority config"技术给出的例子开始:
My Pagerequire({
baseUrl: 'scripts',
paths: {
jquery: 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min',
jqueryui: ...,
...
... // bunch more paths here
},
priority: ['jquery']
}, [ 'main' ]);
这实际上是工作的所有权利。但是我想将主要功能导出到HTML网页本身。例如:
Click for: Foo!
之前嵌入到AMD模块模式,我想通过创建全局空间Dictionary对象公开的功能从我的各种文件:
// main.js
var MyApi = {};
jQuery(document).ready(function($) {
// ...unexported code goes here...
// export function via MyApi
MyApi.foo = function() {
alert("Foo!");
};
});
但我不知道require.js中正确的方法是什么。是不是好放于HTML的