React学习记二
src/pages/document.ejs
Public路径问题
方案1:使用/src/assets存放静态资源,在页面使用import引入
import logo from '/src/assets/logo.png'
方案2:放在/public下,在页面判断环境在写入路径后访问 A
import Settings from '../../../../config/defaultSettings';
const publicPath = process.env.NODE_ENV === 'production' ? `${Settings.package}/` : '/';
方案3:放在/public下,在页面判断环境在写入路径后访问 B
在defaultSettings下写入判断 publicPath: process.env.NODE_ENV === 'production' ? '/BookKeeping/' : '/',然后在页面引入`Settings.publicPath[sourcePath]`即可
Nginx配置
设置base路径后,不是域名根路径,需要使用alias
location /basePath {
alias /opt/webapps/web-root-docs/nginx/BookKeeping;
try_files $uri $uri/ /index.html index.htm =404;
index index.html index.htm index.php;
}
umi4增加Html头代码的方法
方案1:
config/config.ts: js文件放在public/script下,例如百度统计baiduCount.js
headScripts: [
// 解决首次加载时白屏的问题
{ src: `${defaultSettings.package}/scripts/loading.js`, async: true },
{ src: `${defaultSettings.package}/scripts/baiduCount.js`, async: true },
],
方案2:
Umi似乎支持百度统计直接写入,umi4配置中的统计不生效