Trong nỗ lực kết hợp bộ khung ứng dụng TypeScript thân thiện với AMD, tôi đã gặp phải một lỗi: Tôi dường như không rơi xuống từ đường dẫn hiện tại của mình để nhập một mô-đun vào một thư mục khác. Tôi có thể nhập module ở trên trời, nhưng bên dưới ném một lỗi:Nhập Mô-đun TypeScript nằm trong đường dẫn thấp hơn đường dẫn hiện tại ném Lỗi Phạm vi
TypeScript Error: The name ''../core/View'' does not exist in the current scope
Dưới đây là cấu trúc của (rất cơ bản) của tôi ứng dụng:
app/
- core/
- View.ts
- views/
- HomeView.ts
- Application.ts
Trong file Application.ts
của tôi, tôi có thể nhập thành công một mô-đun như vậy:
import HomeView = module('views/HomeView');
export class Application {
constructor() {
console.log('initializing Application');
}
}
trong đó, khi sử dụng --module AMD cờ, một cách chính xác kết quả đầu ra
0.123.define(["require", "exports", 'views/HomeView'], function(require, exports, __HomeView__) {
var HomeView = __HomeView__;
var Application = (function() {
function Application() {
console.log('initializing Application', HomeView);
}
return Application;
})();
exports.Application = Application;
})
Bây giờ, vấn đề là khi tôi nhảy vào views/HomeView.js
và cố gắng để nhập core/View
BaseClass của tôi để mở rộng từ:
import View = module('../core/View');
export class HomeView {
constructor() {
console.log('Hello HomeView!');
}
}
nào ném lỗi hoàn chỉnh này:
TypeScript Error: The name ''../core/View'' does not exist in the current scope
File: test/src/app/views/HomeView.ts
Start: 21, Length: 14
Line: import View = module('../core/View');
---------------------------^^^^^^^^^^^^^^--
Là một này lỗi trong trình biên dịch, hoặc là sự hiểu biết của tôi về nhập khẩu mô-đun bị lỗi? Tại sao tôi có thể nhập views/HomeView
, nhưng không thể nhập ../core/View
?
Mọi trợ giúp sẽ được đánh giá cao.
Tôi đã sử dụng gần như cùng một sửa chữa. Đường dẫn luôn luôn liên quan đến lớp gốc (có nghĩa là, lớp đã nạp mô-đun đầu tiên), vì vậy View.ts luôn có thể được truy cập thông qua 'module (" core/View ")' – JcFx
+1 cho thông tin đó - cảm ơn! – Fenton
Wow --- đôi khi bạn bỏ lỡ những điều rõ ràng nhất :) – cnp