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?
Có cùng một vấn đề và điều đó khiến tôi phát điên! – hamishtaplin
@mysterycommand, bạn có tìm thấy giải pháp này không? – Reuben