TypeScript NPM软件包中的类都捆绑在构建结果中

时间:2018-07-12 07:12:55

标签: angular typescript webpack

我创建了一个npm包,其中包含多个TypeScript类,我想在各种项目中使用它们。例如:

><

这是在npm包中导出这些类的方式:

// dog.ts
import Animal from "../animal";

export class Dog extends Animal {
    public bark(): void { console.log('bark'); } 
}

我通过// main.ts export {Dog} from "./animals/dog"; export {Cat} from "./animals/cat"; export {Ape} from "./animals/ape"; 开始了一个空白的有角项目,通过ng new my-app将npm包添加到了我的项目中,并将Dog类导入了AppComponent:

npm i @farm/animals

在生产构建(// app.component.ts import { Component } from '@angular/core'; import { Dog } from '@farm/animals'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'app'; lassie: Dog = new Dog(); } )之后,我意识到,其他导出的类(如Cat和Ape)也被捆绑到main.js构建结果中。我以为它们会被摇树机制过滤掉。

如何实现仅将导入的类放入构建结果?我的导出结构有问题吗?

谢谢!

// edit:我刚刚意识到ng build --prod完成了预期的工作。有没有一种方法可以单独导出这些类,并带有一个简短的导入名称?

0 个答案:

没有答案