在Angular的早期版本中,有一个eject的选项,以便您可以根据需要修改您的网页配置

在Angular 6中,该选项已被删除,因此目前根本无法获取网页包配置(除了在Angular源代码中查找它).

有没有办法向使用@Angular/cli 6+的Angular应用程序添加自定义网页包配置?或者,有没有办法"弹出"新Angular CLI在引擎盖下使用的网页包配置?

推荐答案

您可以使用angular-builders库,它允许您使用定制的webpack配置扩展现有的browserserver目标(甚至更多).

用法非常简单:

  1. 安装库:npm i -D @angular-builders/custom-webpack

  2. 修改你的angular.json:

    "architect": {
       ...
       "build": {
           "builder": "@angular-builders/custom-webpack:browser"
           "options": {
                  "customWebpackConfig": {
                     "path": "./extra-webpack.config.js",
                     "replaceDuplicatePlugins": true
                  },
                  "outputPath": "dist/my-cool-library",
                  "index": "src/index.html",
                  "main": "src/main.ts",
                  "polyfills": "src/polyfills.ts",
                  "tsConfig": "src/tsconfig.app.json"
                  ...
           }
    
  3. extra-webpack.config.js添加到应用程序的根目录中

  4. 将额外的配置放在extra-webpack.config.js内(只是一个普通的网页包配置)

Angular相关问答推荐

Angular v12:Uncatch(in promise):ReferenceError:d3 is not defined ReferenceError:d3 is not defined

Angular 17上的material 工具提示的自定义样式

Angular 17@在大小写时切换多个值

NG构建后多余的国旗

有Angular react 形式的输入用货币管

如何使用解析器处理Angular 路由中存储的查询参数以避免任何额外的导航?

Component RegisterComponent模板出现Angular 错误

Angular 12 区域环境切换器

为什么Angular的ViewEncapsulation枚举有没有值为1的键?

如何从2个api获取数据并查看Angular material 表中的数据?

有没有办法订阅部分 BehaviorSubject 值的变化?

Angular 14 类型表单 - 数字控件的初始值

如何访问父组件中提供的 TemplateRef 内的服务?

RxJS - .withLatestFrom 的多个来源

使用 Jasmine 和 Karma 对 Angular 进行单元测试,错误:无法绑定到xxx,因为它不是xxxxxx的已知属性.

实现autocomplete功能

NG2-Charts 无法绑定到 datasets,因为它不是 canvas的已知属性

如何在Angular中使用带有 td 属性 colspan 的属性绑定?

Angular 应用程序必须在新部署后清除缓存

如何从指令访问主机组件?