【问题标题】:RequireJS optimizer fails to load external facebook js correctlyRequireJS 优化器无法正确加载外部 facebook js
【发布时间】:2015-01-16 15:32:42
【问题描述】:

我的文件结构如下所示。一切都在 js 文件夹内。

-js  
  --config.js  
  -app  
    --app.fb.js  
    --main.js  
  -lib  
    --jquery-1.9.0.js
    --require.js  
  -tools  
    --r.js  
    --build.js  

我根据https://developers.facebook.com/docs/javascript/howto/requirejs创建了一个配置文件

config.js

require.config({
  shim: {
    'facebook' : { exports: 'FB' }
  },
  paths: {
      'jquery': '../lib/jquery-1.9.0',  
      'facebook': '//connect.facebook.net/en_US/all'
  }
});

app.fb.js

define(['facebook'], function(){
    console.log("loaded fb");
});

构建.js

({
    baseUrl: "../app",
    mainConfigFile: "../config.js",
    name: "main",
    out: "../core.js",
    paths: {
      'facebook': 'empty:'
    }
})

main.js

require(["jquery", "app.fb"], function($, appfb){
    // Log the callback parameter.
    console.log( "$.fn.jquery:", $.fn.jquery );
});

最后我在这里调用优化文件(core.js)

<script type="text/javascript" data-main="js/core" src="js/lib/require-2.1.15.js"></script>

优化器似乎运行正常,但是当我加载页面时,我希望 Facebook 模块从 CDN 加载。相反,我得到
获取http://example.com/js/facebook.jsrequire-2.1.15.js:1901 未捕获的错误:针对:facebook 的脚本错误

我在这方面花了很长时间,但无法找出问题所在! 有什么想法吗?

谢谢

【问题讨论】:

    标签: facebook facebook-graph-api requirejs


    【解决方案1】:

    知道了,由于某种原因,这仅在我将 config.js 内容移动到 main.js 时才有效。

    这看起来像:

    require.config({
      shim: {
        'facebook' : { exports: 'FB' }
      },
      paths: {
           'jquery': '../lib/jquery-1.9.0',  
           'facebook': '//connect.facebook.net/en_US/all'
       }
     });
    require(["jquery", "app.fb"], function($, appfb){
        // Log the callback parameter.
         console.log( "$.fn.jquery:", $.fn.jquery );
     });
    

    在 build.js 中,更改

    mainConfigFile: "../app/config.js",
    

    mainConfigFile: "../app/main.js",
    

    r.js 优化器运行正确!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多