Có một số file Javascript, tổ chức trong các thư mục Scripts/folder1, Scripts/folder2, ...đường dẫn tương đối sử dụng requirejs kết hợp với nguyên cảo và AMD
Với requirejs.config.baseUrl một thư mục được định nghĩa như là mặc định , ví dụ Scripts/folder1. Sau đó, trong requirejs.config.paths một số tập tin được giải quyết chỉ với tên tập tin, và một số được giải quyết với một đường dẫn tương đối (như ../folder2/blabla).
Khi mã hóa thư mục tệp Typescipt2/blabla.ts, chúng tôi cần mô-đun "toán học" từ thư mục1. Vì vậy, chúng tôi viết
import MOD1 = module("../folder1/math");
Về bản ghi, mọi thứ đều ổn với điều đó. Nó có thể tìm thấy các mô-đun. Tuy nhiên, với requirejs có một vấn đề. Nó không biết mô-đun "../folder1/math", nó chỉ biết "toán học".
Vấn đề có vẻ là câu lệnh nhập khẩu mong đợi tên tệp, được nhấn mạnh bằng cách bắt đầu từ thư mục hiện tại. Tuy nhiên, đây không phải là id mô-đun mà requirejs biết.
Sử dụng đường dẫn tuyệt đối ở mọi nơi, cả trong cấu hình requirejs và câu lệnh nhập trong Bản dạng, giải quyết vấn đề.
Tôi có làm điều này sai không? Hoặc là con đường tuyệt đối con đường để đi?
Tôi đã phát hiện ra rằng một trong hai đường dẫn tuyệt đối, hoặc đường dẫn tương đối so với các mô-đun đầu tiên đòi hỏi js tải (thường là gốc của ứng dụng js của tôi - hoặc thư mục Scripts hoặc với thư mục Durandal the App - nhưng không nhất thiết là gốc của trang web của tôi) hoạt động. – JcFx
Cảm ơn rất nhiều vì câu trả lời. Nếu module đầu tiên nằm trong/Scripts, baseUrl sẽ được đặt thành đường dẫn đó. Sau đó, nếu một mô-đun từ "folder1" được sử dụng, liên quan đến requirejs nó phải được giải quyết như "folder1/blabla". Sau đó bạn sẽ viết gì trong câu lệnh Typescript? Bạn có viết mô-đun ("folder1/blabla") không? Điều gì sẽ xảy ra nếu mô-đun, nơi câu lệnh nhập được viết, được lưu trong "folder2"? Liệu Typecript sau đó chấp nhận các mô-đun ("folder1/blabla")? – mgs
Có. Theo như tôi có thể thấy đường dẫn không thay đổi, bất cứ nơi nào bạn nhập từ (miễn là bạn vẫn còn trong bối cảnh ứng dụng tương tự - vì vậy vẫn còn trong chuỗi các mô-đun được tải từ địa chỉ cơ sở ban đầu đó). – JcFx