【发布时间】:2014-10-02 13:34:59
【问题描述】:
也许我没有正确使用 Typescript 的命名空间,但这是我要解决的问题。
当创建一个类时,我需要使用如下的 require 来引用我的所有其他文件。
import DependencyModule = require("Path.../DependencyModule");
import DependencyClass = DependencyModule.DependencyClass;
如果我希望能够像这样构造类,每次我需要添加这两行:
var class = new DependencyClass();
因为我的项目打算很大,并且我已经需要几个类,所以我将拥有一个名为 ClassStore.ts 的文件,该文件将引用所有类,因此我只需要引用该文件一次.
import ModulesStore = require("ClassStore");
var class = new ModulesStore.DependencyClass();
可以这样做吗?我错过了命名空间的东西吗?
请注意,我尝试从包含多个导出的文件中导出导入类和接口。一个用于接口,一个用于实现。
这是我的项目(DependencyClass.ts)的典型文件架构:
export interface IDependencyClass { ... }
export class DependencyClass { ... }
这是我在“ClassStore”中尝试过的:
// ClassStore.ts
export import DependencyModule = require("DependencyClass");
// Other file needing the DependencyClass
import ClassStore = require("ClassStore");
var class = new ClassStore.DependencyModule.DependencyClass();
我收到以下错误:Uncaught TypeError: Cannot read property 'DependencyClass' of undefined。
感谢您的帮助。
【问题讨论】:
标签: typescript javascript-namespaces