Tôi hiện đang làm việc trên một dự án JavaScript lớn mà chúng tôi muốn xác định API của chính mình. Tôi đang sử dụng RequireJS làm trình tải phụ thuộc của tôi và nó phù hợp với tôi tốt, cho phép tôi xác định các mô-đun trong tệp tương ứng của họ. Tôi không sử dụng không gian tên của riêng tôi, một mô-đun sẽ trả về một cá thể, có thể được sử dụng trong các mô-đun khác, tức là:Cách cấu trúc một dự án JavaScript bằng cách sử dụng RequireJS
define(
['imported_module'],
function(module){
module.doSomething();
}
)
Tuy nhiên khi số lượng tệp tăng lên, tôi muốn quyết định cách cấu trúc các tệp này trong các thư mục. Hiện tại tôi sử dụng sơ đồ sau để đặt tên tệp của mình:
[projectname].[packagename].[ModuleName]
Ví dụ có thể là stackoverflow.util.HashMap.js. Tôi xin giới thiệu một thư mục dự án, một thư mục cho mỗi gói và đổi tên các tập tin với tên module, như:
stackoverflow/util/HashMap.js
này cấu trúc mã của tôi khá gọn gàng vào các thư mục, tuy nhiên tên tập tin chỉ phản ánh các module bây giờ. Tôi muốn xác định một số loại định tuyến để có thể xác định cách RequireJS nên tìm kiếm tệp. Ví dụ:
File
stackoverflow/util/stackoverflow.util.HashMap.js
nên có thể nhập cảng bằng cách tuyên bố
define(['stackoverflow.util.HashMap'],function(HashMap){});
Có kinh nghiệm bất cứ ai có dự án hoạt Javascript lớn cơ cấu và nếu như vậy, bạn có thể chia sẻ cách tiếp cận của bạn?
Bạn có thể làm điều đó bằng một plugin tùy chỉnh ... giống như 'use! Stackoverflow.util.HashMap' – blockhead
Như blockhead đã nói: API plugin có chức năng" bình thường hóa "lấy tên và dịch thành một đường dẫn . Hãy xem: http://requirejs.org/docs/plugins.html # apinormalize – David