2016-03-16 44 views
0

多个文件,这就是我所谓的“东西”第一个库:导出和导入与CommonJS的

//animals.ts 
module Animals { 
    export class Cat { 
     public name = "cat"; 
    } 

    export class Dog { 
     public name = "dog"; 
    } 
} 

export = Animals; 


//houses.ts 
module Houses { 
    export class Big { 
     public name = "big"; 
    } 

    export class Small { 
     public name = "small"; 
    } 
} 

export = Houses; 

现在,我想这两个模块导入到第二个库。 我应该如何设置我的第一个库的package.json? 应该是什么主要和typings值?

我创建了一个名为index.ts新文件:

import Animals = require("./animals"); 
import Houses = require("./houses"); 

export var animals = Animals; 
export var houses = Houses; 

,然后我导入像这样在第二个库:

import { animals } from "things"; 

这是正确的吗?最好的解决方法是什么?

+0

如果您正在做节点js,则不需要使用TypeScript内部模块(即名称空间)。只需导出没有模块封装的类,而不使用exports = Animals。 –

+0

我在ReactJS中有同样的疑问,可以按如下方式使用 'export const Cat = require('。Cat')。default' – Malaba

回答

1

相反的:

import Animals = require("./animals"); 
import Houses = require("./houses"); 

export var animals = Animals; 
export var houses = Houses; 

我会做:

export import Animals = require("./animals"); 
export import Houses = require("./houses"); 

由于这暴露了它无论是在变量声明空间(more)。除此之外