我已閱讀此問題的答案require js loading scripts from cdn fail。但在我的情況下,這並沒有幫助。我有一個需要JS設置,我想用CDN來加載我的庫。 Require JS文檔如下所示是從CDN加載庫並將回退加載到本地文件的正確方法。要求JS,通過CDN加載庫失敗
requirejs.config({
//To get timely, correct error triggers in IE, force a define/shim exports check.
enforceDefine: true,
paths: {
jquery: [
'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min',
//If the CDN location fails, load from this location
'lib/jquery'
]
}
});
require(['jquery'], function ($) {
});
我用同樣的方法,但我得到一個錯誤,而不是,下面是我的代碼
requirejs.config({
baseUrl: location.protocol + '//' + location.host + '/app',
waitSeconds: 0,
paths: {
'jquery': ['https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min','/assets/js/vendor/jquery'],
'jqueryPjax': '/assets/js/vendor/jquery.pjax',
'jqueryUI': '/assets/js/vendor/jquery-ui.min',
'jqueryMousewheel': '/assets/js/jquery.mousewheel',
'jScrollPane': '/assets/js/jquery.jscrollpane.min',
'fastclick': '/assets/js/vendor/fastclick',
'jquerySlidebars': '/assets/js/jquery.slidebars.min',
'imagesLoaded': '/assets/js/imagesloaded.pkgd.min',
'fancyBox': '/assets/js/jquery.fancybox.pack',
'fancyBoxThumb': '/assets/js/jquery.fancybox-thumbs',
'text': '/assets/js/vendor/text',
'chosen': '/assets/js/vendor/chosen',
'bb': '/assets/js/vendor/backbone-min',
'underscore': '/assets/js/vendor/underscore-min',
'angular': '/assets/js/angular.min',
'ventFactory': 'base/ventFactory',
'util': 'base/util',
'dom': 'base/dom',
'actionHandler': 'base/actionHandler',
'ajax': 'base/ajax'
},
shim: {
'jquery': {
exports: 'jQuery'
},
'jqueryUI': {
deps: ['jquery']
},
'angular': {
exports: 'angular'
},
'jqueryPjax': {
deps: ['jquery'],
exports: 'jQuery.fn.pjax'
},
'jqueryMousewheel': {
deps: ['jquery'],
exports: 'jQuery.fn.mousewheel'
},
'jScrollPane': {
deps: ['jqueryMousewheel'],
exports: 'jQuery.fn.jScrollPane'
},
'jquerySlidebars': {
deps: ['jquery'],
exports: 'jquerySlidebars'
},
'fancyBox': {
deps: ['jquery'],
exports: 'fancyBox'
},
'fancyBoxThumb': {
deps: ['jquery', 'fancyBox'],
exports: 'fancyBoxThumb'
},
'chosen': {
deps: ['jquery'],
exports: 'chosen'
}
}
});
requirejs(['jquery', 'app'], function($, app) {
$(function() {
app.start();
});
});
我剛纔提出的jQuery的變化的,現在,我給這兩個CDN URL和本地路徑,但是當我加載我的網頁我得到一個錯誤
TypeError: $el.siblings is not a function
添加上 我使用要求JS加載我的庫,但隨後在我使用的杏仁生產,它結合了所有模塊整合到一個單一的文件中,所以這與錯誤有關嗎?
任何幫助,這是高度讚賞。謝謝
你好Vishi,你有什麼比這個錯誤更多嗎?這可能來自任何文件尚未... – Salketer
@Salketer嘿感謝您的答覆。其實我只是把這當成一個錯誤。 我使用的是要求JS來加載我的庫,但在生產中我使用的是杏仁,它將所有模塊組合成一個單獨的文件,所以這與這個錯誤有什麼關係? – Vishi
好吧,如果錯誤只發生在生產上,我會看着杏仁(我不知道)。我的猜測是,杏仁只是從CDN下載jQuery來打包你的JS,所以對CDN沒什麼大不了的。如果甚至在純RequireJS上發生錯誤,控制檯始終會提供文件和行,這可能會成爲調試的起點。 – Salketer