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 相关文章推荐
a标签的href和onclick 的事件的区别介绍
Jul 26 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
使用D3.js构建实时图形的示例代码
Aug 28 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
Apr 30 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 Javascript
Vue 请求传公共参数的操作
Jul 31 Javascript
浅谈JavaScript中的“!!”作用
Aug 03 Javascript
node.js通过url读取文件
Oct 16 Javascript
vue的webcamjs集成方式
Nov 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
5种PHP创建数组的实例代码分享
2014/01/17 PHP
学习php中的正则表达式
2014/08/17 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
Javascript之String对象详解
2016/06/08 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
python遍历数组的方法小结
2015/04/30 Python
Django中使用Celery的教程详解
2018/08/24 Python
python生成九宫格图片
2018/11/19 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
C#实现启动一个进程
2016/10/01 面试题
机电专业个人求职信范文
2013/12/30 职场文书
黄金搭档广告词
2014/03/21 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
导游词之无锡梅园
2019/11/28 职场文书
python使用glob检索文件的操作
2021/05/20 Python
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
php修改word的实例方法
2021/11/17 PHP
JavaScript流程控制(循环)
2021/12/06 Javascript