在 Angular 4 延迟加载中用模块名称替换块名称
Posted
技术标签:
【中文标题】在 Angular 4 延迟加载中用模块名称替换块名称【英文标题】:Replace chunk name with module name in angular 4 lazy loading 【发布时间】:2018-07-07 20:25:20 【问题描述】:我正在使用 angular-cli-1.6.3 来捆绑我的项目。 我尝试将延迟加载的块名称重命名为有效的模块名称。但它不起作用。下面给出代码sn-p,
path: 'lazy',
loadChildren: './lazy/module#LazyModule?chunkName=LazyModule'
【问题讨论】:
你为什么使用?chunkName=LazyModule
?你从哪里弄来的?
我看到了一些样本。但现在我删除了。
【参考方案1】:
你应该使用-nc
标志
ng build --aot -nc
或
ng build --aot --named-chunks
更新 1:基于评论
要删除哈希值,请将--output-hashing
设置为 false,如下所示
ng build --aot --nc --output-hashing=false
Documentation Link
【讨论】:
抛出错误,例如:ERROR in Error: LazyModule?chunkName=LazyModule is not an NgModule 它只是创建了一个类似“module.ebc4664b446ca766a851.chunk.js”的文件。但我希望模块名称作为文件名或自定义名称。做有需要的 模块的名称是什么? 不,它只是像这样创建的“module.ebc4664b446ca766a851.chunk.js”。该怎么办?我正在使用 angular-cli-1.6.3 重命名那个太lazy.module.ts【参考方案2】: ng build --namedChunks=true --outputHashing=none --vendorChunk=true
namedChunks
为延迟加载的块使用文件名
output-hashing
定义输出文件名缓存清除哈希模式。
vendorChunk
使用仅包含供应商库的单独捆绑包。
【讨论】:
以上是关于在 Angular 4 延迟加载中用模块名称替换块名称的主要内容,如果未能解决你的问题,请参考以下文章