react build 后打包发布总结


Posted in Javascript onAugust 24, 2018

一,部署在apache  web服务器上(wamp   |   xammp)

1.后台接口需要做跨域设置

(1)在服务端利用Access-Control-Allow-Origin响应头解决。

设置Access-Control-Allow-Origin:*,允许所有域名的脚本访问该资源。

如果考虑到安全问题,也可以设置Access-Control-Allow-Origin:www.build.im  允许特定域名访问

(2)服务器做反向代理

2.打包文件单独放置一个服务器

(1)把react  项目  build 打包后 复制build  里面的文件到web服务器的根目录

( 2 ) 同时需要在web根目录放置.htaccess文件,文件内容为:(当服务器出现找不到路由时自动回到index.html  路由由react-router 接管)

附备注:

前端本地开发时会存在跨域问题,如果项目是用creat-react-app cli  创建的,则直接在package.json  文件里添加  api 地址目录即可:"proxy": “www.api.com:8000” 即可解决跨域问题,如果是自己创建的项目

配置好proxy  middlle 中间件 也可以实现代理。本地fecth( ''api/userinfo", fucntion(){} ); 请求会发送到    http://www.online.com:80/api/userinfo  接口上

proxy: {
  '/api)': {
   target: 'http://www.online.com:80/',
   changeOrigin: true
  },
}
<IfModule mod_rewrite.c>
   Options +FollowSymlinks
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ index.html [QSA,PT,L]
</IfModule>

二,部署在nginx  web 服务器上

try_files 指令:配置 nginx/nginx.conf 文件

server {
 ...
 location / {
  try_files $uri /index.html
 }
}

react  build  后的文件包里的文件直接放到  nginx 下的web  目录 即可通过ip  访问

遇到的坑

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文件打开后浏览器是空白页面,这是报的错:

react build 后打包发布总结

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

react build 后打包发布总结

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
Sep 12 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
Jun 21 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
中止javascript执行的方法
Feb 14 Javascript
jQuery的ready方法详解
Nov 27 Javascript
JS+CSS实现带小三角指引的滑动门效果
Sep 22 Javascript
BootStrap 动态表单效果
Jun 02 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
使用Node.js实现简易MVC框架的方法
Aug 07 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
Sep 21 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 #Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 #Javascript
element-ui中select组件绑定值改变,触发change事件方法
Aug 24 #Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
Aug 24 #Javascript
浅谈ElementUI中switch回调函数change的参数问题
Aug 24 #Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 #Javascript
微信小程序支付PHP代码
Aug 23 #Javascript
You might like
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
js判断空对象的实例(超简单)
2016/07/26 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
python实现的汉诺塔算法示例
2019/10/23 Python
python实现邮件循环自动发件功能
2020/09/11 Python
彻底解决Python包下载慢问题
2020/11/15 Python
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
优秀毕业生自荐信范文
2014/01/01 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
合作意向书
2014/07/30 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
欠条样本
2015/07/03 职场文书
同学聚会感言一句话
2015/07/30 职场文书
国际贸易实训总结
2015/08/03 职场文书
技术入股协议书
2016/03/22 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸