在浏览器中优化后需要 JS R.js 错误

requirejs r.js errors after optimization in browser

本文关键字:JS js 错误 浏览器 优化      更新时间:2023-09-26

在使用 r 进行优化后,我正在努力让 requirejs 工作.js 预优化工作正常,

浏览器中的错误:

main.js:71 未捕获的引用错误:未定义 jQuery

在包含的插件中 m自定义滚动条 到 main.js

工厂(jQuery,window,document);

file:///home/atm/public/www-build/js/jquery.mCustomScrollbar.js 网::ERR_FILE_NOT_FOUND require.js:2 未捕获错误:"m自定义滚动条"的脚本错误 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>

主.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']
                            }
    }
});

页1.js

define(['jquery','mCustomScrollbar'], function($){
    $(document).ready(function () { 
        $("#content-3").mCustomScrollbar({
            scrollButtons:{enable:true},
            theme:"dark-thick"
        }); 
    }); 
});

构建.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-mousewheeljquery之前加载的。您可以尝试为这样的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 '  
 )};

现在所有文件库和插件都有一个文件