Module 导入位于低于当前路径的路径中的TypeScript模块会引发作用域错误
在试图整合一个AMD友好的TypeScript应用程序框架时,我遇到了一个障碍:我似乎无法从当前路径下拉到另一个目录中导入模块。我可以导入上面的模块,但下面会抛出错误:Module 导入位于低于当前路径的路径中的TypeScript模块会引发作用域错误,module,scope,typescript,amd,Module,Scope,Typescript,Amd,在试图整合一个AMD友好的TypeScript应用程序框架时,我遇到了一个障碍:我似乎无法从当前路径下拉到另一个目录中导入模块。我可以导入上面的模块,但下面会抛出错误: TypeScript错误:名称“../core/View”在当前作用域中不存在 下面是我的(非常基本的)应用程序的结构: 在我的Application.ts文件中,我可以成功导入如下模块: import HomeView = module( 'views/HomeView' ); export class Applicatio
TypeScript错误:名称“../core/View”在当前作用域中不存在
下面是我的(非常基本的)应用程序的结构:
在我的Application.ts
文件中,我可以成功导入如下模块:
import HomeView = module( 'views/HomeView' );
export class Application {
constructor() {
console.log( 'initializing Application' );
}
}
当使用--module AMD标志时,正确输出
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;
})
现在,问题是当我跳入views/HomeView.js
并尝试导入我的core/View
基类以扩展:
import View = module('../core/View');
export class HomeView {
constructor() {
console.log('Hello HomeView!');
}
}
这会引发此完全错误:
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');
---------------------------^^^^^^^^^^^^^^--
这是编译器中的错误,还是我对模块导入的理解有误?为什么我可以导入视图/HomeView
,但不能导入。/core/View
任何帮助都将不胜感激 我使用根路径成功地实现了这一点,尽管我无法告诉您为什么相对路径不起作用
import view = module("./app/core/View");
我使用了几乎相同的修复。路径始终与根类(即加载第一个模块的类)相关,因此始终可以通过
module(“core/View”)
Wow访问View.ts---有时您会错过最明显的事情:)@JcFx感谢您的解释!
import view = module("./app/core/View");