r.js优化没有保留路径

r.js optimization is not preserving paths

本文关键字:有保留 路径 优化 js      更新时间:2023-09-26

我使用的是r.js优化,在路径配置中将CDN资产设置为:空。然而,当我点击优化的文件时,需要的不是获取CDN资产。具体来说,它并没有接触jQuery。我也在使用grunt requirejs任务。

这是我的require.js配置:

require.config({
  paths: {
    jquery               :'//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min'
  }
});

下面是grunt.js配置:

    requirejs: {
        compile: {
            options: {
                baseUrl: "public/resources/javascripts/",
                mainConfigFile: "public/resources/javascripts/main.js",
                out: "public/resources/javascripts/main-build.js",
                paths: {
                    'jquery': 'empty:'
                },
                name: "main",
                generateSourceMaps: true,
                optimize: "uglify2",
                preserveLicenseComments: false
            }
        }
    }

我把构建的资产打成:

<script data-main="/resources/javascripts/main-build.js" src="/resources/javascripts/libs/require.js"></script>

您也必须将从CDN加载的资源添加到exclude阵列中。否则,该模块将被包含,只是为空。

exclude: [ "jquery" ]

附带说明一下,从CDN加载jQuery将比将其捆绑到构建的文件中慢。在这种情况下,您不应该使用CDN。