6

我正在使用 requirejs 优化器将我的模块压缩为一个用于生产的文件。但是,我想从文件中排除 jQuery,以便它可以与实际的应用程序逻辑分开加载,我该如何实现呢?我尝试使用 exclude 和 excludeShallow 参数进行设置,但是当我运行该页面时,出现以下错误:

Uncaught ReferenceError: jQuery is not defined app.min.js:14 (anonymous function) app.min.js:14

我对 requirejs 的 grunt 配置如下所示:

requirejs: {
        minify: {
            options: {
                baseUrl: 'js',
                mainConfigFile: 'js/main.js',
                name: 'main',
                out: 'js/app.min.js',
                excludeShallow: [
                    'jquery'
                ]
            }
        }
    }

非常感谢!

4

3 回答 3

3

方法如下: http ://requirejs.org/docs/optimization.html#empty

在构建配置文件中:

({
    baseUrl: ".",
    name: "main",
    out: "main-built.js",
    paths: {
        jquery: "empty:"
    }
})
于 2014-10-22T14:01:11.467 回答
1

尝试在 app.min.js 中像在 excludeShallow 中一样大写 jQuery。我以前在 *nix 机器上遇到过类似的问题。

(你有 app.min.js 吗?这可能有助于解决这个问题。)

于 2013-09-04T17:29:32.613 回答
0

我猜你正在使用一些依赖于 jQuery 的库。您是否使用shim 选项来判断依赖关系?

我的意思是,您js/main.js必须包含如下配置:

shim: {
  'some-library': ['jquery']
}
于 2013-03-04T01:09:41.817 回答