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.ajax)
Nov 19 Javascript
jQuery实现“扫码阅读”功能
Jan 21 Javascript
jQuery超酷平面式时钟效果代码分享
Mar 30 Javascript
jquery实现左右无缝轮播图
Jul 31 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
Avalonjs双向数据绑定与监听的实例代码
Jun 23 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 Javascript
详解Angular4 路由设置相关
Aug 26 Javascript
vue2.0+vue-dplayer实现hls播放的示例
Mar 02 Javascript
快速搭建vue2.0+boostrap项目的方法
Apr 09 Javascript
关于vue.js中实现方法内某些代码延时执行
Nov 14 Javascript
javascript canvas API内容整理
Feb 16 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
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python控制台中实现进度条功能
2015/11/10 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
python实现指定ip端口扫描方式
2019/12/17 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
大学生职业生涯规划书模版
2013/12/30 职场文书
未婚证明书模板
2014/10/08 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
东京审判观后感
2015/06/01 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
Python jiaba库的使用详解
2021/11/23 Python
Windows server 2012搭建FTP服务器
2022/04/29 Servers