2012-02-07 30 views
5

我努力讓requirejs工作optimizing與r.js 它工作正常,預優化 我下面的配置main.js的文檔,並使用empty:生成配置文件後 但是,優化後,CDN腳本不再加載。requirejs CDN腳本不再負載優化後

公共/ index.html的

<script data-main="editor/js/main" src="editor/js/vendor/require.js"></script> 

公共/編輯/ JS/main.js

requirejs.config({ 
    baseUrl: "/editor/js", 
    paths: { 
     "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min", 
     "order": "vendor/require_order", 
     "underscore": "vendor/underscore", 
     "handlebars": "vendor/handlebars-1.0.0.beta.4", 
     "jquery.mobile.router": "vendor/jquery.mobile.router", 
     "jquery.mobile": "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min" 
    } 
}); 
require(["order!jquery", "order!underscore", "order!handlebars", "order!jam", "order!jquery.mobile"], function() { 
    //loaded 
}); 

配置/ build.js

({ 
    baseUrl: "../public/editor/js", 
    name: "main", 
    out: "../public/editor/js/main-built.js", 
    paths: { 
     "order": "vendor/require_order", 
     "underscore": "vendor/underscore", 
     "handlebars": "vendor/handlebars-1.0.0.beta.4", 
     "jquery.mobile.router": "vendor/jquery.mobile.router", 
     "jquery": "empty:", 
     "jquery.mobile": "empty:" 
    } 
}) 

什麼時候我運行r.js node config/r.js -o config/build.js main-built.js已成功構建。

+1

您是否解決了此問題?我遇到了類似的問題。 – MediaJunkie 2012-11-13 17:47:05

+0

不幸的是,我放棄使用requireJS,它可能是後來修復的東西。自二月份以來,我一直沒有看過它。 – Rob 2012-11-14 12:59:58

+1

你一起去過什麼?我需要優化的依賴管理:) – Shanimal 2013-01-24 19:10:58

回答

0

是否有一個特別的原因,你爲什麼使用訂單插件加載所有內容?

您是否在構建的JavaScript中加載了訂單問題?

如果你正常加載jQuery手機(沒有插件),你的「空白」配置應該生效。

require(["jquery", "underscore", "handlebars", "jam", "jquery.mobile"], function() { 

http://requirejs.org/docs/optimization.html#empty

您還需要定義依賴關係鏈jQuery.mobile.router

requirejs.config({ 

    paths: { 
     "jquery": "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min", 
     "order": "vendor/require_order", 
     "underscore": "vendor/underscore", 
     "handlebars": "vendor/handlebars-1.0.0.beta.4", 
     "jquery.mobile.router": "vendor/jquery.mobile.router", 
     "jquery.mobile": "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min" 

    }, 

    shim: { 
     "router": { 
      "deps" : ["jquery.mobile"] 
     }, 
     "jquery.mobile" : { 
      "deps" : [ "jquery.mobile.router"], 
      "exports": "$.mobile" 
     }, 

     "jquery.mobile.router": { 
      "exports": "$.mobile.Router" 
     } 
    } 
}); 

看到了這個問題的答案:

Require.js with jQueryMobile-Router

我希望通過requirejs解決您的問題,一旦你習慣了它的結構,我發現它是一個非常強大和有用的工具。

_Pez

+0

感謝您的貢獻,這個問題是相當古老的,不幸的是我不記得我想要做什麼來回答你的問題。 – Rob 2013-07-04 10:31:03