Requirejs输出到单个文件,不包括jQuery不保留依赖?

Posted

技术标签:

【中文标题】Requirejs输出到单个文件,不包括jQuery不保留依赖?【英文标题】:Requirejs output to single file excluding jQuery not retaining dependency? 【发布时间】:2013-02-17 19:23:57 【问题描述】:

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

Uncaught ReferenceError: jQuery is not defined app.min.js:14 (匿名函数)app.min.js:14

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

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

非常感谢!

【问题讨论】:

你能在你的 app.min.js 中添加吗? 【参考方案1】:

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

在构建配置文件中:

(
    baseUrl: ".",
    name: "main",
    out: "main-built.js",
    paths: 
        jquery: "empty:"
    
)

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

我猜你正在使用一些依赖于 jQuery 的库。你是用shim option 来判断依赖吗?

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

shim: 
  'some-library': ['jquery']

【讨论】:

以上是关于Requirejs输出到单个文件,不包括jQuery不保留依赖?的主要内容,如果未能解决你的问题,请参考以下文章

Bash CURL GET 请求输出到单个 JSON 文件,包括服务器响应和 CURL 信息

RequireJS + Algolia Docsearch抛出不匹配的匿名define()..错误

TypeScript 通过 tsc 命令:输出到单个文件而不连接

使用requirejs来管理angularJS依赖示例

jquer属性 offsetpositionscrollTop

requireJS的优化工具 ---- r.js