Javascript 浏览器中优化后的requirejs r.js错误
我正在努力让requirejs在使用r.js进行优化后工作。它在预优化时工作得很好 浏览器中的错误: main.js:71未捕获引用错误:未定义jQuery 包含在main.js的插件mCustomScrollbar中 工厂(jQuery、窗口、文档) file:///home/atm/public/www-build/js/jquery.mCustomScrollbar.js net::找不到错误文件 require.js:2未捕获错误:“mCustomScrollbar”的脚本错误 html: 第1.js页Javascript 浏览器中优化后的requirejs r.js错误,javascript,jquery,requirejs,Javascript,Jquery,Requirejs,我正在努力让requirejs在使用r.js进行优化后工作。它在预优化时工作得很好 浏览器中的错误: main.js:71未捕获引用错误:未定义jQuery 包含在main.js的插件mCustomScrollbar中 工厂(jQuery、窗口、文档) file:///home/atm/public/www-build/js/jquery.mCustomScrollbar.js net::找不到错误文件 require.js:2未捕获错误:“mCustomScrollbar”的脚本错误 htm
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未捕获引用错误:未定义jQuery
这可能是因为jquery鼠标滚轮在jquery
之前加载。您可以尝试像这样配置jquerymouseweel
的依赖项
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 '
)};
现在所有的文件库和插件都有一个文件我部分解决了这个问题,主配置mCustomScrollbar'mCustomScrollbar':“empty:”,
* 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
define ([ 'jquery', 'jquery-mouseWheel'], function () {
'inside code plugin mCustomScrollbar '
)};