2012-08-12 24 views
6

Tôi đang cố gắng sử dụng trình tối ưu hóa r.js để xây dựng tất cả các phụ thuộc của tôi thành một tệp duy nhất. Dưới đây là cấu trúc tập tin của tôi:RequireJS/r.js 'baseURL' Bất động sản dường như bị bỏ qua

app 
    bin 
    src 
    css 
     main.css 
    js 
     libs 
     raphael-2.1.0 
      eve.js 
      raphael.amd.js 
      raphael.core.js 
      raphael.svg.js 
      raphael.vml.js 
     jquery-1.8.0.js 
     require-2.0.5.js 
     main.js 
    build.js 
    index.html 
    r.js 

Dưới đây là nội dung của build.js:

({ 
    baseURL: 'js', 
    dir: '../bin', 
    paths: { 
    'jquery': 'libs/jquery-1.8.0', 
    'raphael': 'libs/raphael-2.1.0/raphael.amd' 
    }, 
    name: 'main', 
    removeCombined: true 
}) 

Các 'libs/raphael-2.1.0/raphael.amd' phụ thuộc tải mọi thứ khác trong thư mục raphael-2.1.0. Các ứng dụng hoạt động như mong đợi nếu tôi truy cập app.local/src, nó tải các module khi chạy qua yêu cầu với một thẻ script duy nhất trong tập tin index.html của tôi như thế này:

<script src="js/libs/require-2.0.5.js" data-main="js/main.js" type="text/javascript" charset="utf-8"></script> 

Tuy nhiên, nếu tôi cố gắng chạy lệnh node r.js -o src/build.js từ ứng dụng, tôi nhận được một lỗi như:

Error: ERROR: module path does not exist: /app/src/main.js for module named: main. Path is relative to: /app 
at /app/r.js:14215:31 

... và tất cả mọi thứ được sao chép vào thư mục bin "nguyên trạng". Nếu tôi thêm 'main': 'js/main' vào đối tượng đường dẫn, thì r.js không thể tìm thấy jquery và raphael, nếu tôi quảng cáo js/ đến đường dẫn jquery và raphael thì khai báo phụ thuộc của libs/raphael-2.1.0/rapheal.amd là sai. Nếu tôi cập nhật chúng, sau đó mọi thứ được xây dựng như mong đợi, nhưng bây giờ ứng dụng tại app.local/src/index.html bị hỏng. Ngoài ra, tôi nghĩ đó là điểm có thuộc tính baseURL trong tệp xây dựng không? Dường như với tôi như baseURL đang bị bỏ qua. Tôi đang làm gì sai?

+0

Có cùng một vấn đề và điều đó khiến tôi phát điên! – hamishtaplin

+0

@mysterycommand, bạn có tìm thấy giải pháp này không? – Reuben

Trả lời

0

Như hầu hết mọi thứ trong JavaScript, cài đặt baseUrl phân biệt chữ hoa chữ thường. Thay đổi URL tới Url và xem có giúp ích gì không.

+0

Tôi nhận được cùng một "vấn đề". Nó không thực sự là một vấn đề, nhưng nó chỉ bị bỏ qua ngay cả với baseUrl. – FlavorScape

Các vấn đề liên quan