我正在尝试使用 require.js 加载我的模块依赖项,到目前为止它正在运行,但我有一个疑问。我创建了一个小函数来测试模块并将其放在一个名为 panelTest.js 的文件中:
define(['./panel/View', './panel/TitleView'], function(View, TitleView) {
return function test(container) {
// main view
var panel = new View(container, 'main');
var panelTitle = new TitleView(panel.getContainer(), 'main-title');
panelTitle.setTitle('Properties Panel');
//panelTitle.addCss('pjs-panelTitle');
panel.addView(panelTitle);
// sections
var top = new View(panel.getContainer(), 'top');
panel.addView(top);
var middle = new View(panel.getContainer(), 'middle');
panel.addView(middle);
var bottom = new View(panel.getContainer(), 'bottom');
panel.addView(bottom);
};
});
在使用模块的html中,我在require.js documentation中显示了此脚本标记,以加载 panelTest.js 。
<script data-main="panelTest.js"
src="require.js"></script>
我的问题是如何从模块外部调用测试函数,因为容器参数应该来自模块外部。
答案 0 :(得分:0)
您必须通过RequireJS提供的相应渠道访问该模块。您可以在加载RequireJS的那个script
标记之后执行此操作:
require(['panelTest'], function (panelTest) {
panelTest(/* some value */);
});
根据您展示的代码,您的panelTest
模块似乎并不像#34;主模块那样真正有意义。所以我不会把它作为data-main
。
如果要从anther模块中使用它,请将模块放在自己的文件中并按如下方式定义:
define(['panelTest'], function (panelTest) {
panelTest(/* some value */);
});