今天碰到这个问题,上网查了一下,解决掉了,感觉大神们说的有好多小白看不懂,就自己总结一下,加强自己的记忆吧,为下次碰到这种问题存储答案。
现象:项目中用requireJS,在用到UEditor的时候会报这种错误(ZeroClipboard undefined)。
原因:在有requireJS时ZeroClipboard不会把自己暴露为全局变量
解决问题:
1.在require模块加载配置中修改配置,把ZeroClipboard写入配置中
2.在使时先调用ZeroClipboard模块,把模块定义到全局变量
解决代码:
1.在require的配置中加入ZeroClipboard
require.config({
paths: {
ZeroClipboard: "./UEditor.../ZeroClipboard"//主要是加这句话
}
});
2.在使用前先调用模块,定义为全局变量
require(['ZeroClipboard'], function (ZeroClipboard) {
window['ZeroClipboard'] = ZeroClipboard;
});