仅将DefaultUrlSerializer类导入到没有整个路由器模块的Angular项目中

时间:2017-06-12 10:25:54

标签: javascript angular import router es6-modules

在import语句之后将整个路由器模块拉入最终的webpack包。

import { DefaultUrlSerializer } from '@angular/router';

有没有办法只导入DefaultUrlSerializer而没有其他不相关的模块?

我正在使用Webpack模块构建器和Angular Cli进行AOT /生产构建。

1 个答案:

答案 0 :(得分:2)

不,除非你自己构建Angular,否则你不能这样做。 npm包不会单独发送模块,而是作为UMD格式的一个包:

  node_modules
    @angular
       router
         bundles
           router.umd.js

无论您如何导入DefaultUrlSerializer,webpack都会在最终版本中包含整个router.umd.js的内容,因为它无法从文件中提取代码。