2015-12-08 41 views
0

定义下面的代码无法解析同一模块中但在不同的文件

场/ base.ts

/// <reference path="../_all.ts" /> 

module SomeApp.fields { 
    export interface IField {} 
    export class Field implements IFields {} 
} 

的领域/ CharField.ts

/// <reference path="../_all.ts" /> 

module SomeApp.fields { 

    import IField = SomeApp.fields.IField; 

    export interface ICharField extends IField {} 
    export class Field implements IFields {} 
} 

在_all接口。 ts:

/// <reference path="fields/base.ts" /> 
/// <reference path="fields/CharField.ts" /> 

但这没有牛逼的工作,我从CharField.ts文件得到这个错误:

Error:(7, 39) TS2305: Module 'SomeApp.fields' has no exported member 'IField'.

那么,什么是错在我的代码?

回答

0

您的问题提出了几个问题:

  1. 您是如何编制的?
  2. Wy是_all.ts .ts文件而不是.d.ts文件?
  3. 你为什么要导入IField(取决于点“1”)?

这里是一个工作示例:

. 
+-- tsconfig.json 
+-- references.d.ts 
+-- src 
| +-- myInterface.ts 
| +-- myClass.ts 

tsconfig.json:

{ 
    "compilerOptions": { 
     "module": "commonjs", 
     "noImplicitAny": true, 
     "removeComments": true, 
     "preserveConstEnums": true, 
     "out": "result.js", 
     "sourceMap": true 
    }, 
    "files": [ 
     "src/myClass.ts" 
    ] 
} 

references.d.ts:

/// <reference path="src/myInterface.ts" /> 
/// <reference path="src/myClass.ts" /> 

myInterface.ts:

module MyNameSpace { 

    export interface IMyInterface { 
     // ... 
    } 
} 

myClass.ts:

/// <reference path="../references.d.ts" /> 

module MyNameSpace { 
    export class MyClass implements IMyInterface { 
     // ... 
    } 
} 

上述作品中的例子,到底为什么你的例子不工作可能是任何上述1,2,或3分的。

相关问题