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 相关文章推荐
document.open() 与 document.write()的区别
Aug 13 Javascript
浅谈javascript 面向对象编程
Oct 28 Javascript
ASP中进行HTML数据及JS数据编码函数
Nov 11 Javascript
js和as的稳定传值问题解决
Jul 14 Javascript
jquery 取子节点及当前节点属性值
Jul 25 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
Jun 18 Javascript
jQuery点击输入框显示验证码图片
May 19 Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 Javascript
JavaScript实现动态添加Form表单元素的方法示例
Aug 14 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 Javascript
详解node和ES6的模块导出与导入
Feb 19 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
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
SONY ICF-F10中波修复记
2021/03/02 无线电
php简单提示框alert封装函数
2010/08/08 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
javascript Object与Function使用
2010/01/11 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
每日十条JavaScript经验技巧(二)
2016/06/23 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python实现多进程的四种方式
2019/02/22 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
css3的transition属性详解
2014/12/15 HTML / CSS
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
大四自我鉴定范文
2013/10/06 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
英文导游词
2015/02/13 职场文书
讲座通知范文
2015/04/23 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers