首页 > 其他分享 >Angular 如何修改webpack配置(配置loader)

Angular 如何修改webpack配置(配置loader)

时间:2022-11-30 16:46:21浏览次数:68  
标签:配置 Angular webpack file loader angular types

1. 修改Angular CLI webpack 配置

1.1 安装 @angular-builders/custom-webpack

npm install -D @angular-builders/custom-webpack

1.2 新建webpack配置文件extra-webpack.config.js并写入配置信息

module.exports = {
  // webpack config
};

1.3 修改angular.json


"architect": {
        "build": {
-		   "builder": "@angular-devkit/build-angular:browser",
+          "builder": "@angular-builders/custom-webpack:browser", // <=
+          "options": {
+            "customWebpackConfig": {  // <=
+              "path": "./extra-webpack.config.js",  // <=
+              "mergeRules": {  // <=
+                "externals": "replace"  // <=
+              }  // <=
            },
			// ....
		"serve": {
-          "builder": "@angular-devkit/build-angular:dev-server",
+          "builder": "@angular-builders/custom-webpack:dev-server",
           "options": {
+            "browserTarget": "你的项目名:build",
			 // ...
          }
		}

1.4 重启项目

2. angular 中使用 require.context 和配置 loader

2.1 安装@types/webpack-env

npm i -D @types/webpack-env

2.2 修改tsconfig.app.json

 "compilerOptions": {
    "outDir": "./out-tsc/app",
+    "typeRoots": ["node_modules/@types", "./types"],
     "types": [
+      "webpack-env"
     ]
  },

2.3 配置相应loader(file-loader为例)

npm i -D file-loader

// extra-webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.svg$/,
        use: ['file-loader']
      }
    ]
  }
};

2.4 usage

const file = require.context('src/assets/image/pc/', false, /\.svg$/);
// ...

标签:配置,Angular,webpack,file,loader,angular,types
From: https://www.cnblogs.com/coderDemo/p/16938932.html

相关文章

  • Angularjs的指令学习笔记
    1.指令ng-app ng-controller<scriptsrc="../js/angular.min.js"></script><body><divng-app="myApp"ng-controller="myCtrl">    {{firstName+""+lastName}......
  • 蓝牙AppLoader BootLoader升级指南
    一新旧Bootloader的区别在SiliconLabs的GeckoSDKv4.0版本之前,AppLoader是放在Gecko BootLoader和应用程序App之间的一个独立的程序。在GeckoSDKv4.1中,对于2系列......
  • webpack源码之ast简介
    什么是AST树是一种重要的数据结构,由根结点和若干颗子树构成的。根据结构的不同又可以划分为二叉树,trie树,红黑树等等。今天研究的对象是AST,抽象语法树,它以树状的形式......
  • ClassLoader
    ClassLoader:用来加载Class的。负责将Class的字节码形式转换成内存形式的Class对象。字节码可以来自于磁盘文件*.class,也可以是jar包里的*.class,也可以来自远程......
  • 宝塔面板升级后报错: ImportError: dynamic module does not define init function (in
    进行宝塔面板升级的时候,升级完成后,无法打开网址目录,且界面弹出报错ImportError:dynamicmoduledoesnotdefineinitfunction(initPluginLoader),如图示;  求助宝塔......
  • angular FormArray 中嵌套 FormGroup 问题解决
    官方例子里说了FormArray可以嵌套group或者array,但只给了control的实例,这里记录一下嵌套groupts文件:import { Component } from '@angular/core';import { For......
  • Angular2文档学习的知识点摘要——Angular模块(NgModule)
    目录​​目录​​​​前言​​​Angular模块化​​​AppModule-应用的根模块​​​​在maints中引导​​​​声明指令和组件​​​​服务提供商​​​​导入支持性模块​......
  • AngularJS自学之路——知识点记录(一)
    AngularJS(以下知识点摘抄自《AngularJS权威教程》一书。)1、ng-app指令标记了AngularJS脚本的作用域;2、AngularJS应用引导过程有3个重要点:1)注入器(injector)将用于创建此应用程......
  • Angular2文档学习的知识点摘要——显示数据、用户输入、表单
    目录​​目录​​​显示数据​​​使用插值表达式显示组件属性​​​用户输入​​​模板引用变量​​​​按键事件过滤​​​表单​​​模板驱动的表单​​​案例angular-fo......
  • Angular2文档学习的知识点摘要——依赖注入
    目录​​目录​​​依赖注入(DI)​​​为什么需要依赖注入?​​​Angular依赖注入​​​配置注入器​​​​在NgModule中注册提供商​​​​在组件中注册提供商​​​​该用......