.umirc.ts 基本配置

简介: .umirc.ts 基本配置

umirc.ts 基本配置大全


import { defineConfig } from "umi";
export default defineConfig({
  nodeModulesTransform: {
    type: 'none',
  },
  // 热更新
  fastRefresh:{
  },
  // 标签页标题
  title:'测试项目',
  // 自定义加载页,默认为loading...
  dynamicImport:{
    loading:'@/pages/Loading',
  },
  // 标签页图标
  links: [{ rel: 'icon', href: '/favicon.ico' }],
  // 加快编译速度
  mfsu:{},
  //开启按需加载
  dynamicImport: {
  },
  //开启按需加载后把 css 打包成一个文件
  chainWebpack(config) {
    config.optimization.splitChunks({
      cacheGroups: {
        styles: {
          name: 'styles',
          test: /\.(css|scss)$/,
          chunks: 'async',
          minChunks: 1,
          minSize: 0,
        }
      },
    });
  },
  //配置 externals 还能减小编译消耗
  externals: {
    'react': 'window.React',
    'react-dom': 'window.ReactDOM',
    'moment': 'window.moment',
    'antd': 'window.antd',
  },
  scripts: [
    'https://cdn.bootcdn.net/ajax/libs/react/17.0.1/umd/react.development.min.js',
    'https://cdn.bootcdn.net/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js',
    'https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/moment.min.js',
    'https://cdnjs.cloudflare.com/ajax/libs/antd/4.8.2/antd.min.js',
  ],
  //样式生效必须写在styles里面
  styles: [ 'https://cdnjs.cloudflare.com/ajax/libs/antd/4.8.2/antd.min.css'],
  dva: {
  },
  antd: false,//启用后自动配置 babel-plugin-import实现antd按需加载  false 表示不开启  {} 表示开启
  antdMobile:false, // antd-mobile同理
  //sass配置
  sass: {
  },
  request: {
    dataField: 'data',
  },
  // 路由配置
  routes: [
    { path: '/', component: '@/pages/Login/index' },
    { path: '/login', component: '@/pages/Login/index' },
    { path: '/home', component: '@/pages/Home', routes: [
      // { path: '/home', redirect: '/home/index' },  // 路由重定向,需要写在子路由中
      {
        path: '/home/index', component: '@/pages/index', name: 'string'
      },
      {
        path: '/home/hot', component: '@/pages/Hot', name: '热门'
      },
      { path: '/*', component: '@/pages/NotFound' }, },
  ],
  targets: { //配置浏览器最低版本,比如兼容ie11
    ie: 11
  },
  hash: true,  //开启打包文件的hash值后缀,
  proxy: {
    '/api': {
      'target': 'http://192.168.3.12:8028/',
      'changeOrigin': true,
      'pathRewrite': { '^/api' : '' },
    },
  },
});

目录
相关文章
|
Web App开发 资源调度 JavaScript
竟然可以在一个项目中混用 Vue 和 React?
竟然可以在一个项目中混用 Vue 和 React?
1270 0
|
6月前
|
人工智能 自然语言处理 数据挖掘
如何通过AI辅助数据分析
“数据驱动决策"已成为企业战略共识,越来越多的企业将数据分析列入核心投资。随着AI越来越成熟,使用AI辅助数据分析可以显著提升效率、深度和自动化水平。
894 7
|
前端开发 UED
next/dynamic的动态导入
next/dynamic的动态导入
|
SQL 关系型数据库 BI
草率了!没想pgadmin这么强大
草率了!没想pgadmin这么强大
1066 0
|
前端开发 JavaScript UED
react-router 里的 Link 标签和 a 标签有什么区别
`react-router` 中的 `Link` 标签与 HTML 中的 `a` 标签的主要区别在于:`Link` 是专门为 React 应用设计的,用于实现客户端路由导航,不会触发页面的重新加载,而 `a` 标签则会刷新整个页面。使用 `Link` 可以提升应用的性能和用户体验。
|
安全 Java API
Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档
这篇文章介绍了Swagger,它是一组开源工具,围绕OpenAPI规范帮助设计、构建、记录和使用RESTAPI。文章主要讨论了Swagger的主要工具,包括SwaggerEditor、SwaggerUI、SwaggerCodegen等。然后介绍了如何在Nest框架中集成Swagger,展示了安装依赖、定义DTO和控制器等步骤,以及如何使用Swagger装饰器。文章最后总结说,集成Swagger文档可以自动生成和维护API文档,规范API标准化和一致性,但会增加开发者工作量,需要保持注释和装饰器的准确性。
496 0
Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
673 1
|
JavaScript Ubuntu 应用服务中间件
nginx扩展 OpenResty 实现防cc攻击教程
使用OpenResty实现CC攻击防护,包括两个主要步骤:限制请求速度和JS验证。首先,安装依赖(RHEL/CentOS需安装readline-devel, pcre-devel, openssl-devel,Ubuntu需安装libreadline-dev等)。然后,安装Luajit和OpenResty。在Nginx配置中,创建`lua`共享字典并设置`content_by_lua_file`调用lua脚本。lua脚本检查请求频率,超过限制则返回503,否则增加计数。同时,通过JS验证,生成随机码并重定向用户,用户需携带正确验证码请求才能访问。
440 0
|
Dubbo Java 测试技术
技术汇总:第十章:Maven Profile动态选择配置文件
技术汇总:第十章:Maven Profile动态选择配置文件
760 0