0

我正在使用 r.js 优化,在路径配置中将 CDN 资产设置为 :empty。但是,当我点击优化文件时,require 不会获取 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>
4

1 回答 1

1

exclude您还必须在阵列内添加从 CDN 加载的资源。否则,该模块被包括在内,只是空的。

exclude: [ "jquery" ]

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

于 2013-07-26T19:03:47.717 回答