我必须使用现有的js-library(A),我无法修改,而js-library又使用3d party js-library(B)。
A和B都依赖于jQuery,但只有B符合AMD标准:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
return define('B', ['jquery'], function ($) {
return factory($, root);
});
} else {
return factory(root.jQuery, root);
}
})(window, function ($, window) {
// Extend $ (jQuery) with a function myFunction
}
脚本加载顺序为:
问题是,当A试图使用$ .myFunction时,它是未定义的。
我的RequireJS配置文件应该是什么样的,以便$ .myFunction不是未定义的?
答案 0 :(得分:1)
由于模块A
不符合AMD标准,并且取决于jquery
和模块B
,因此模块A
需要requireconfig.js
B
}。
听起来你不需要模块requireconfig.js
的垫片(因为它符合AMD标准),但如果你喜欢,你也可以添加它。
配置中的路径相对于require.config({
...
paths: {
"jquery": "your/path/to/jquery",
"A": "your/path/to/A",
"B": "your/path/to/B"
}
shim: {
A: ["jquery", "B"]
}
});
文件的位置。
import java.awt.EventQueue;
import javax.swing.JFrame;
public class Window1 extends JFrame {
private JFrame frame;
}