首先,在umijs中,document.ejs文件就对应index.html,
官方原话:
1、 新建 src/pages/document.ejs,umi 约定如果这个文件存在,会作为默认模板
2、模板里可通过 context 来获取到 umi 提供的变量,context 包含:
route
,路由信息,需要打包出多个静态 HTML 时(即配置了 exportStatic 时)有效
config
,用户配置信息 比如:
<link rel="icon" type="image/x-icon" href="<%= context.config.publicPath %>favicon.png" />
参考链接:UmiJS-HTML 模板
然后,在看了文档后,我是这样引用全局变量的:

通用写法:"<%= context.config.xxx %>" ,xxx就是你对应变量的名称
document.ejs中全局变量就是这样引用的,
然后我又去看了下react中index.html如何引用全局变量,
发现通用方法如下:
“<%=xxxx %>”
列如:"<%= WEB_HOST_PATH + '/register' %>"
,
WEB_HOST_PATH 就是我要引用的全局变量。
至于为什么要这样引用,我没有去深入研究,如果有知道的小伙伴欢迎告诉窝,好啦,今天的记录到此为止!(▽)
首先,在umijs中,document.ejs文件就对应index.html,官方原话:1、 新建 src/pages/document.ejs,umi 约定如果这个文件存在,会作为默认模板2、模板里可通过 context 来获取到 umi 提供的变量,context 包含:route,路由信息,需要打包出多个静态 HTML 时(即配置了 exportStatic 时)有效config,用户配置信息 比如:<link rel="icon" type="image/x-icon" h
(function (doc, win) {
var docEl = doc.documentElement,
isIOS = navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
dpr = isIOS ? Math.min(win.devicePixelRatio, 3) : 1
umi 通过 create-umi 提供脚手架,包含一定的定制化能力。推荐使用 yarn create 命令,因为能确保每次使用最新的脚手架。
1. 创建项目
mkdir myapp && cd myapp
yarn create umi
然后,选择你需要的功能,功能介绍详见 plugin/umi-plugin-react
然后手动安装依赖
最后通过 yarn sta...
页面路由跳转传参
// 传递参数
<Link to={{pathname:`/breakpromise-manager/${record.id}/detail`,state:{typeId:record.orgType}}}>{text}</Link>
// 页面接收参数
let orgType = this.props.location.state.typeId;
使用...
需要在前端页面中使用地图定位,所以在前端umi项目中使用百度地图服务,由于umi项目默认没有入口的html文件,所以无法通过常规的在head中加入外链js的方式使用
用umi-plugin 插件的方式把链接加到页面上
在umirc.ts中导入本地新建的插件文件customPlugin.js
* umirc.ts,umi项目默认配置文件
import { defineConfig } from 'umi';
export default defineConfig({
如何在document.ejs模板中引用.umi.js配置变量
document.ejs模板可以为umi.js项目配置最为基本的配置之一,可以理解为index.html的入口。
我们知道原生的react组件,都是需要挂载到html中的指定dom元素中的。umi.js是基于react的,尽管基于umi.js来开发react项目,使代码的逻辑更清晰,模块化更透彻,可维护性更好,但是,本质还是react...
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
如果IE有安装Google Chrome Frame,那么就走安装的组件,如果没有就和一样。
说明:针对IE 6,7,8等版本的浏览器插件Google Chrome Frame,可以让用户的浏览器外观依然是IE的菜单和界面,但用户在浏览网页时,实际上使用的是...
首先呢,先说下document.ejs,它是一个HTML模板库,在React中的主要作用是引用一些npm包不存在,而恰巧你又需要使用的库或插件。
接下来说一下使用高德地图原生API在React中使用,先看一下我的document.ejs的配置
ps:密钥用自己的哦,我就不贴出来了。[申请高德地图密钥](https://lbs.amap.com/api/android-sdk/gu...
1、检查umi的版本,如果是3.0以上的那么需要Node 10.13或以上,如果版本没问题的话
2、升级umi-plugin-react为@umijs/preset-react
在pageage.json中修改依赖 将umi-plugin-react修改为@umijs/preset-react
UmiJS介绍
Umi,中文可发音为乌米,是可扩展的企业级前端应用框架。Umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。
Umi 是蚂蚁金服的底层前端框架,已直接或间接地服务了 3000+ 应用,包括 java、node、H5 无线、离线(Hybrid)应用、纯前端 assets 应用、CMS 应用等。他已经很好地服务了我们的内部用户,同时希望他也能服务好外部用户。
最近用React + UMI +qiankun的框架撸了一个后台管理系统,主应用使用的qiankun做的微前端,子运用使用的是UMI搭建的React 项目,涉及到主应用与子运用的通信问题。
1.主应用用的qiankun中的registerMicroApps进行的传值,代码如下:
registerMicroApps([
name: 'react app', // app name registered
entry: '//localhost:8080',
container:
umi提供了UMI_ENV的环境变量来支撑用户自定义的环境
在ant-design-pro 中稍微有些不同,因为pro中没有 .umirc.js文件, 只有config/config.ts
具体步骤是
将config.ts 复制一份,定义为config.sit.ts 注意是复制
然后加入下面的代码
define: {
API_SERVER: "https://xxx.xxx.com", // 接口服务...