Cách thực hành tốt nhất để nhập mô-đun trong các nút có bản ghi là gì? Tôi đến từ C# nền vì vậy tôi muốn làm một cái gì đó như thế nàyNhập mô-đun TypeScript trong nútjs
MyClass.ts
module MyNamespace {
export class MyClass {
}
}
app.ts
// something like using MyNamespace
new MyNamespace.MyClass();
hoặc
MyClass.ts
export class MyClass {
}
app.ts
import MyClass = module("MyClass")
new MyClass();
Tôi biết tôi có thể làm điều này và nó sẽ làm việc, nhưng sau đó tôi phải suy nghĩ lên cho hai tên cho mỗi lớp
import MyClass2 = module("MyClass")
new MyClass2.MyClass();
Point là tách các lớp thành nhiều tệp .ts (tốt nhất là một tệp cho mỗi lớp). Vì vậy, câu hỏi là, làm thế nào là điều này được thực hiện?
Cách tiếp cận thứ hai có vẻ tốt. Nhưng hiện tại tôi đang sử dụng visual studio và nodejs, làm thế nào tôi nên đi về cách tiếp cận thứ hai trong trường hợp này, tôi có phải hợp nhất tất cả các tập tin (bởi một số công cụ riêng biệt) vào một .js? Và trong trường hợp trình duyệt tôi nên thêm mọi thẻ .js vào
Bạn có thể nhập mô-đun TypeScript vào tệp node.js bằng mô-đun typescript-require, được tạo cho mục đích cụ thể này.
Nguồn
2013-01-02 01:05:45
tôi muốn giới thiệu với sử dụng
module
(hoặcnamespace
) từ khóa rõ ràng, đó là một tàn dư thuộc về tàn tích của một thời gian trước đó. * Bạn thường không cần đến chúng bởi vì bất kỳ tập tin typescript với cấp cao nhấtimport
hoặcexport
là tự động một mô-đun. Ví dụ myModule.ts thứ hai của bạn tốt.Nhưng khi bạn nhập nó vào một mô-đun nguyên cảo, bạn sẽ muốn sử dụng một cái gì đó như thế này:
Cá nhân, tôi không thích repetitiveness của dòng 1, nhưng nó là những gì ngôn ngữ kêu gọi, vì vậy tôi đã học cách chấp nhận nó. Tôi nghĩ rằng các tiện ích của cú pháp này là không rõ ràng, trừ khi bạn từ bỏ mô hình tập tin mỗi lớp. Bạn chọn và chọn tên để nhập từ mô-đun, để không xảy ra ô nhiễm không gian tên ngoài ý muốn.
Cú pháp nhập thay thế kéo vào tất cả các tên từ mô-đun, nhưng bạn phải đủ điều kiện tên với mô đun khi bạn sử dụng chúng. Vì vậy nó cũng là tên va chạm kháng.
Có ngoại lệ đối với nguyên tắc chung về việc không cần
module
/namespace
từ khóa, nhưng không bắt đầu bằng cách tập trung vào chúng. Hãy suy nghĩ tệp == mô-đun.Nguồn
2017-05-19 03:36:26