2012-02-07 22 views
5

Tôi đang gặp khó khăn để yêu cầu hoạt động sau optimizing với r.js Hoạt động tối ưu hóa tốt trước Tôi đang theo dõi tài liệu để định cấu hình main.js và cấu hình xây dựng bằng cách sử dụng empty: Tuy nhiên sau khi tối ưu hóa, tập lệnh CDN không còn được tải.requirejs không còn tải tập lệnh cdn sau khi tối ưu hóa

công cộng/index.html

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

công/biên tập/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 
}); 

config/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:" 
    } 
}) 

Khi nào Tôi chạy r.js node config/r.js -o config/build.js main-built.js được xây dựng thành công.

+1

Bạn đã giải quyết được sự cố này chưa? Tôi đang chạy vào một vấn đề tương tự. – MediaJunkie

+0

Thật không may là không, tôi đã từ bỏ sử dụng requireJS, nó có thể là thứ gì đó đã được sửa sau đó. Tôi đã không xem xét nó kể từ tháng Hai. – Rob

+1

bạn đã làm gì với? Tôi cần tối ưu hóa phụ thuộc mgmt :) – Shanimal

Trả lời

0

Có lý do cụ thể nào khiến bạn tải mọi thứ bằng cách sử dụng plugin đơn đặt hàng không?

Bạn có gặp sự cố tải đơn đặt hàng trong javascript được xây dựng của mình không?

Nếu bạn tải jQuery di động bình thường (không có plugin), cấu hình "trống" của bạn sẽ có hiệu lực.

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

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

Bạn cũng sẽ cần phải xác định chuỗi phụ thuộc cho 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" 
     } 
    } 
}); 

thấy câu trả lời cho câu hỏi này:

Require.js with jQueryMobile-Router

Tôi hy vọng rằng giải quyết vấn đề của bạn với requirejs , Tôi đã tìm thấy nó là một công cụ rất mạnh mẽ và hữu ích, một khi bạn quen với cấu trúc của nó.

_Pez

+0

Cảm ơn sự đóng góp của bạn, câu hỏi này khá cũ, rất tiếc tôi không thể nhớ lại những gì tôi đang cố gắng làm để trả lời câu hỏi của bạn. – Rob