仅将 DefaultUrlSerializer class 导入 Angular 项目而没有整个路由器模块
Importing just DefaultUrlSerializer class into an Angular project without entire router module
以下导入语句将整个路由器模块拉入最终的 webpack 包中。
import { DefaultUrlSerializer } from '@angular/router';
有没有办法只导入 DefaultUrlSerializer
而没有其他不相关的模块?
我正在使用 Webpack 模块构建器和 Angular Cli 进行 AOT/production 构建。
不,您不能这样做,除非您自己构建 Angular。 npm
包不单独提供模块,而是作为一个 UMD 格式的捆绑包提供:
node_modules
@angular
router
bundles
router.umd.js
无论您如何导入 DefaultUrlSerializer
,webpack 都将在最终构建中包含整个 router.umd.js
的内容,因为它无法从文件中提取代码。
以下导入语句将整个路由器模块拉入最终的 webpack 包中。
import { DefaultUrlSerializer } from '@angular/router';
有没有办法只导入 DefaultUrlSerializer
而没有其他不相关的模块?
我正在使用 Webpack 模块构建器和 Angular Cli 进行 AOT/production 构建。
不,您不能这样做,除非您自己构建 Angular。 npm
包不单独提供模块,而是作为一个 UMD 格式的捆绑包提供:
node_modules
@angular
router
bundles
router.umd.js
无论您如何导入 DefaultUrlSerializer
,webpack 都将在最终构建中包含整个 router.umd.js
的内容,因为它无法从文件中提取代码。