[英]AngularJs $injector:modulerr after RequireJS r.js optimization
[英]requirejs r.js errors after optimization in browser
使用r.js優化后,我正在努力讓requirejs正常工作。
瀏覽器錯誤:
main.js:71未捕獲的ReferenceError:未定義jQuery
在包含的插件mCustomScrollbar中到main.js
工廠(jQuery,window,document);
file:///home/atm/public/www-build/js/jquery.mCustomScrollbar.js net :: ERR_FILE_NOT_FOUND require.js:2未捕獲的錯誤:“ mCustomScrollbar”的腳本錯誤http://requirejs.org/docs/ errors.html#scripterror 。
的HTML:
<script data-main="js/main" src="js/require.js"></script>
<script>
require(['main'],function(){
require(['page/page1']);
});
</script>
main.js配置文件:
require.config({
baseUrl: 'js/',
paths : {
page: 'page',
'jquery' : ['https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min',
'jquery-2.2.1.min'],
'mCustomScrollbar' : 'jquery.mCustomScrollbar',
'jquery-mousewheel' : 'jquery.mousewheel.min'
},
shim : {
'mCustomScrollbar' : {
deps : ['jquery','jquery-mousewheel']
}
}
});
page1.js
define(['jquery','mCustomScrollbar'], function($){
$(document).ready(function () {
$("#content-3").mCustomScrollbar({
scrollButtons:{enable:true},
theme:"dark-thick"
});
});
});
build.js配置
({
appDir: "../www",
baseUrl: 'js/', // relative to appDir
dir: "../www-build",
mainconfigfile: '../www/js/main.js',
modules: [
{
name: "main",
include: ['jquery','mCustomScrollbar']
},
{
name: 'page/page1',
include: ['page/page1'],
exclude: ['main']
}
],
paths: {
'jquery': "empty:",
'mCustomScrollbar' : 'jquery.mCustomScrollbar',
'jquery-mousewheel' : 'jquery.mousewheel.min'
},
shim : {
'mCustomScrollbar' : { deps : ['jquery','jquery-mousewheel'] }
},
optimize: "none",
optimizeCss: "standard",
removeCombined: true
})
main.js:71未捕獲的ReferenceError:未定義jQuery
這可能是因為jquery-mousewheel
在jquery
之前加載的。 您可以像這樣嘗試為jquery-mousewheel
配置依賴項
shim : {
'mCustomScrollbar' : {
deps : ['jquery','jquery-mousewheel']
},
'jquery-mousewheel' : {
deps : ['jquery']
}
}
我發現里面的腳本評論:
* load jquery-mousewheel plugin (via CDN) if it's not present or not loaded via RequireJS (works when * load jquery-mousewheel plugin (via CDN) if it's not present or not loaded via RequireJS
也許是用一個文件優化js文件的問題
好的,現在可以正常工作了,我解決了這個問題,將其包含在插件mCustomScrollbar中
define ([ 'jquery', 'jquery-mouseWheel'], function () {
'inside code plugin mCustomScrollbar '
)};
現在所有文件庫和插件只有一個文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.