2013-03-07 26 views
12

Tôi đang cố gắng xây dựng các mô-đun require.js của mình thành một tệp javascript để sản xuất.Require.js không biên dịch tập tin js đơn đúng

Lệnh Tôi đang chạy là ...

r.js -o name=main out=main.min.js mainConfigFile=main.js 

này biên dịch nhưng file main.min.js biên soạn không được biên dịch một cách chính xác và vẫn bao gồm các "xác định" khối tuyên bố. và trình duyệt rõ ràng là trả

Uncaught ReferenceError: define is not defined 

tập tin main.js tôi trông như thế:

require.config({ 
    paths: { 
     jquery: 'libs/jquery/jquery', 
    }, 
    shim: { 
     bootstrap: { 
      deps: ['jquery'], 
      exports: 'jquery' 
     } 
    } 
}); 
require(['app', 'jquery'], function (app, $) { 
    'use strict'; 
    // use app here 
    console.log(app); 
    console.log('Running jQuery %s', $().jquery); 
}); 

Xin vui lòng cho tôi biết những gì tôi đang nhìn đây. Cảm ơn!

+1

May đã làm việc nó ra ... Tôi đã bao gồm require.js trong xây dựng. ví dụ: r.js -o name = main out = main.min.js mainConfigFile = main.js include = libs/requirejs/require.js là đúng không? – markstewie

+1

Bạn đúng rằng RequireJS cũng phải được bao gồm trong tệp được rút gọn. Ngoài ra, nếu bạn quan tâm đến việc giảm kích thước tệp js đã được rút gọn của bạn, hãy thử sử dụng Almond. Đó là một bộ nạp thay thế nhỏ của cùng tác giả như RequireJS được thiết kế để sử dụng trong các bản dựng sản xuất được rút gọn. – cspotcode

Trả lời

20

Bạn chính xác, bạn cần bao gồm requireJS trong bản dựng của mình. Hãy xem http://requirejs.org/docs/optimization.html#onejs. Bạn sẽ tìm thấy một ví dụ cho dòng lệnh ở đó. Nếu bạn đang sử dụng một xây dựng cấu hình nó sẽ giống như thế này -

({ 
baseUrl: "../Scripts", 
paths: { 
    requireLib: 'libs/require' 
}, 
name: "main", 
out: "main-built.js", 
include: ["requireLib"] 
}) 
+1

Cảm ơn câu trả lời chi tiết. – markstewie

+0

tổng phao cứu sinh. – mix3d

+0

thx để được trợ giúp: D – Mateusz

0

Nhanh chóng khắc phục: sử dụng r.js -o build.js thay vì node r.js -o build.js


tôi đã có vấn đề khi tôi đã cố gắng để gọi r.js thông qua nút:

node r.js -o build.js

Cal ling r.js trực tiếp cố định vấn đề:

r.js -o build.js

Lưu ý: r.js đã được cài đặt trên toàn thế giới với npm install -g requirejs

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