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 相关文章推荐
jquery加载页面的方法(页面加载完成就执行)
Jun 21 Javascript
js获取select标签的值且兼容IE与firefox
Dec 30 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 Javascript
尝试动手制作javascript放大镜效果
Dec 25 Javascript
jQuery实现div拖拽效果实例分析
Feb 20 Javascript
AngularJS 视图详解及示例代码
Aug 17 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
微信小程序间使用navigator跳转传值问题实例分析
Mar 27 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
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
非常实用的php验证码类
2016/05/15 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
jQuery.each使用详解
2015/07/07 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
python dict remove数组删除(del,pop)
2013/03/24 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
dpn网络的pytorch实现方式
2020/01/14 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
学校经典推荐信
2013/10/30 职场文书
求职信格式范本
2013/11/15 职场文书
物流仓管员工作职责
2014/01/06 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
鲁冰花观后感
2015/06/10 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL