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单行文字向上滚动效果示例
Mar 06 Javascript
D3.js实现散点图和气泡图的方法详解
Sep 21 Javascript
JS+HTML5 FileReader对象用法示例
Apr 07 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
浅析Vue实例以及生命周期
Aug 14 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
Sep 11 Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
webpack中的模式(mode)使用详解
Feb 20 Javascript
Openlayers实现扩散的动态点(水纹效果)
Aug 17 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
PHP分享图片的生成方法
2018/04/25 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
Python基础之函数用法实例详解
2014/09/10 Python
Python装饰器decorator用法实例
2014/11/10 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
python dumps和loads区别详解
2020/02/04 Python
Python递归实现打印多重列表代码
2020/02/27 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
Python中的流程控制详解
2021/02/18 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
html5与css3小应用
2013/04/03 HTML / CSS
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
班子个人四风问题整改措施
2014/10/04 职场文书
平遥古城导游词
2015/02/03 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
用JS写一个发布订阅模式
2021/11/07 Javascript
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL