Tôi đã tạo một ứng dụng javascript với tất cả mã trong một tệp. Ứng dụng đã phát triển khá nhiều và tôi nghĩ đã đến lúc chia nhỏ thành nhiều tệp, nhưng tôi đang gặp khó khăn trong việc tìm ra cách để thực hiện điều này. Tôi nghĩ vấn đề nằm với cách tôi đã quyết định xây dựng các ứng dụng, trong đó sử dụng các mẫu sau:Làm cách nào để có thể chia ứng dụng javascript thành nhiều tệp?
var myApp = function(){
//there are several global variables that all of the modules use;
var global1, global2, module1, module2;
global1 = {
prop1:1
};
//There are also several functions that are shared between modules
function globalFunction(){
}
var ModuleOne = function(){
function doSomething(){
//using the global function
globalFunction();
}
return{
doSomething:doSomething
}
};
var ModuleTwo = function(){
function doSomething(){
//module 2 also needs the global function
globalFunction();
//Use the functionality in module 1
//I can refactor this part to be loosely coupled/event driven
module1.doSomething();
}
};
module1 = new ModuleOne();
module2 = new ModuleTwo();
};
Ngay cả khi tất cả các module được lỏng lẻo và sự kiện điều khiển, tôi vẫn không biết làm thế nào tôi sẽ đi về việc chia nhỏ nó thành nhiều tệp tin dựa trên sự phụ thuộc của mỗi module vào các hàm/biến được chia sẻ. Có ai có đề xuất?
Nghiêm túc, các công cụ như [module8] (https://github.com/clux/modul8) giải quyết vấn đề của bạn – Raynos
Hãy xem mẫu thiết kế trong bài viết này: http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In- Độ sâu - bạn có thể tách định nghĩa mô-đun của bạn trên nhiều tệp theo cách cho phép chia sẻ các thuộc tính chung nhưng cũng cho phép bạn tạo các biến hoặc phương thức riêng tư chỉ với một tệp cụ thể. – nnnnnn
@nnnnnn Cảm ơn. Tôi sẽ kiểm tra nó ngay bây giờ. –