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的强大选择器小结
Dec 27 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
Mar 12 Javascript
JavaScript NaN和Infinity特殊值 [译]
Sep 20 Javascript
详解JavaScript中的表单验证
Jun 16 Javascript
浅析jQuery Mobile的初始化事件
Dec 03 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 Javascript
100多个基础常用JS函数和语法集合大全
Feb 16 Javascript
Js利用console计算代码运行时间的方法示例
Sep 24 Javascript
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
JavaScript 截取字符串代码实例
Sep 05 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 Javascript
js实现扫雷源代码
Nov 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
PHP 中执行系统外部命令
2006/10/09 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
Laravel + Elasticsearch 实现中文搜索的方法
2020/02/02 PHP
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
angular4 JavaScript内存溢出问题
2018/03/06 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
jupyter安装小结
2016/03/13 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
中秋节礼品促销方案
2014/02/02 职场文书
《争吵》教学反思
2014/02/15 职场文书
如何写好建议书
2014/03/13 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
学校中秋节活动总结
2015/03/23 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
表彰大会新闻稿
2015/07/17 职场文书