React项目如何打包发布及遇到的坑

简介:

 使用React开发有一段时间了,下面我就把自己一些心得体会分享给大家。我使用的是create-react-app脚手架生成的项目,这个脚手架一键生成react项目,非常方便,先简单记录一下这个新建项目的过程。

一、打包

在项目路径下,敲npm run buil,就出现了build文件夹,同时终端显示这些文字:

30ec75e36bdb5f6c6551318213e7ede265ce2c2a

大致意思是:已经编译好啦。build生成的这些东西要放在服务器root下,可以在pakege.json里,根据绿字里的例子,再重写。也能让它充当静态的服务器,敲:npm install -g serve,在敲serve -s build,就可以了。

二、发布

1、你必须把build里的文件直接放到应用服务器的根路径下,比如,你的服务器IP是172.16.38.253,应用服务器端口为8080,你应该保证http://172.16.38.253:8080这种访问方式,访问到的是你的build下的文件。如果你希望以http://172.16.38.253:8080/build/index.htm这种方式访问应用,那么你可以在package.json文件中增加一个homepage字段,如下:

"homepage": ".",

如果是跟后端集成一块部署,可以参考我的这篇文章:

Spring Boot之如何配置静态资源的地址与访问路径

2、安装serve静态服务器:在你本地安装serve,然后用serve来托管你build后的资源,也就是把build后的文件部署到了serve里,然后你就可以通过localhost:port的方式访问了。

三、遇到的坑

1、安装使用

npm install -g create-react-app

2、生成新项目

create-react-app my-app

(生成的项目最好不要用驼峰式命名,否则后面生成文件提示也会让你改)

3、进入项目目录并预览

cd my-app

npm start

接下来就可以在你的浏览器中看到效果

用create-react-app脚手架生成的目录简单,没有多余的文件。

但是在打包的时候遇到一点小问题,npm run build后该项目会生成一个build文件,但是我点击其中的index.html文件打开后浏览器是空白页面,这是报的错:

2f31ef5d34f39cf126521e1399e381b6b44f4ef4

解决办法:在package.json配置文件中加一句:"homepage": ".",

29649e811a63d82eac33aad889c78becbfc70603

这是build之后的路径问题,改为相对路径后再次打开这个index.html文件就可以正常浏览了。

原文发布时间:2018年06月29日

作者:天工开物_152368

本文来源:CSDN  如需转载请联系原作者

目录
相关文章
|
6月前
|
前端开发 JavaScript 测试技术
从零开始搭建react+typescript+antd+redux+less+vw自适应项目
从零开始搭建react+typescript+antd+redux+less+vw自适应项目
173 0
|
6月前
|
前端开发 JavaScript UED
react实现分片打包
react实现分片打包
88 0
|
6月前
|
前端开发 API 数据安全/隐私保护
【第45期】一文解决React项目的权限管理
【第45期】一文解决React项目的权限管理
314 0
|
2月前
|
前端开发 JavaScript Java
SpringBoot项目部署打包好的React、Vue项目刷新报错404
本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
169 1
|
2月前
|
JavaScript 前端开发 应用服务中间件
本地运行打包好的React、Vue项目
本文讨论了如何本地运行打包好的React和Vue项目,并解决了使用React-Router时Tomcat部署刷新页面导致404的问题,提出了将请求转回index.html的解决方案。
23 1
本地运行打包好的React、Vue项目
|
4月前
|
资源调度 分布式计算 前端开发
[已解决]react打包部署
[已解决]react打包部署
31 0
|
6月前
|
前端开发 JavaScript Linux
relectron框架——打包前端vue3、react为pc端exe可执行程序
relectron框架——打包前端vue3、react为pc端exe可执行程序
162 1
|
6月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
6月前
|
存储 JSON 前端开发
react保姆级搭建新项目
此文主要以ts+vite+router6+antd 快速搭建一个react项目,适用于初学者,用于学习交流
|
6月前
|
移动开发 JavaScript 前端开发
vue/react项目刷新页面出现404的原因以及解决办法
vue/react项目刷新页面出现404的原因以及解决办法
640 0