近期項目中需要使用【復制到剪切板】的功能,故引入clipboard.min.js,完成該功能。
但在使用時發現,頁面總是報錯:clipboardJS is not defined。
查找資料發現,clipboard為全局變量,而被requireJS引入后就變成私有,類似於封裝一樣,故報錯。
解決辦法:提供一個公共的訪問方法,賦值給window。代碼如下:
1、在require.conf中添加路徑:
var require_conf = {
paths:{
"jquery":$CONFIG.APP_PATH+"js/jquery",
"clipboard"::$CONFIG.APP_PATH+"js/clipboard"
}
}
2、在頁面中使用:
require.config(require_conf);
require(['clipboard'],function(Clipboard){
window['Clipboard'] = Clipboard;//或者window.Clipboard = Clipboard
$('.btn').click(function(){
var clipboard = new Clipboard('.btn');
})
})