react 打包后前端加前缀-包括页面及静态资源

第一:前缀配置(base + publicPath)

我这一块使用的是react框架+antd+umi脚手架

知识链接:vue-router的base和vue.config.js的publicPath区别和联系
router的base是控制路由跳转前缀。(//给路由加前缀)
publicPath是控制静态资源访问路径。(//静态css,js资源前缀)–组件的img上面定义的无法渲染,需要找到位置自己去补
比如:之前写的是src=‘/logo.svg’,后续在我定义出去了(目前不知道还有不有什么好办法),这一块的我里面涉及的”process.env“(Node.js 中的一个环境对象) 这个是另一个知识点,本文内容不参与
在这里插入图片描述

知识链接:nginx部署二级目录无法加载css和js问题解决方案
注意 :
这一块的 ‘前缀添加“,只能在打包(build)的时候才能开启,本地启动(start)项目的时候要注掉。
原因:项目里面本来就没有这个”haochi“这个文件,启动肯定报错

在这里插入图片描述

第二:配置打包命令

一般来说 启动项目 npm run dev
而我这边定义的为

"start:haochi": "cross-env UMI_TITLE='xx中心' UMI_ENV=haochi  umi dev",
"build:haochi": "cross-env UMI_TITLE='xx中心' UMI_ENV=haochi  umi build",

关于为何这么配置 ,因为我这块使用的是umi 脚手架
UmiJS+React 配置不同环境变量(配置UMI_ENV
在这里插入图片描述

其中 “start:haochi” 要求定义一个文件,关键在于这个 文件的名字 config.haochi.js 中间的命名 要和 “start:” 后面的 一致

在这里插入图片描述
不然会报错

第三:nignx配置

页面配置(使用alias需注意,最后面要加“/”)

      ## 页面配置(使用alias需注意,最后面要加“/”)
       location /haochi/ {
		alias   D:/nginx-1.20.2/html/haochi/ ;
		try_files $uri $uri/ /index.html last;
		#autoindex on;
		add_header Access-Control-Allow-Origin *;
		add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
		add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
	   }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐