React打包部署

笔记来自
首屏优化

前言
脚手架配置文件是隐藏的,需要先使用命令显示,怎么显示查看【react-router】笔记

前文已经有的配置

  • 请求跨域配置,查看【react】笔记
  • 热加载的配置,查看【react-router】笔记

打包配置

  • 打包默认的文件夹叫build,如何改名
// config/paths.js

module.exports = {
  // 修改这里就行的参数就行
  appBuild: resolveApp('tt'),
  ...
};
  • 打包后的文件路径有误
// 路径错误原因,查看打包文件的index.html
// <script src="/static/js/main.dbaa987b.chunk.js"></script>
// 可以看到打包出来的js的访问路径是 localhost/static/js/main.dbaa987b.chunk.js
// 但实际上应该是 localhost/打包的文件夹名字/static/js/main.dbaa987b.chunk.js
// 这个错误跟vue的脚手架错误是一样的,应该把打包配置进行修改让结果是
// <script src="/打包的文件夹名字/static/js/main.dbaa987b.chunk.js"></script>

// scripts/builds.js
const paths = require('../config/paths');
// 在引入paths的代码后直接修改publicUrlOrPath参数
paths.publicUrlOrPath = "/tt/";
// 再次打包就可以了
// 把打包的整个文件夹丢入nginx/html文件夹里,然后修改nginx.config就行

部署

  • 因为前面已经把跨域都搞定了,现在只要找个服务器把打包的文件放进去就行,常见的,最小白的服务器有nginx,可以直接在网上下载安装包

image.png

  • 解压完nginx的安装包之后,把dist文件放在html文件夹里,然后配置nginx.conf文件
server {
    listen       80;
    server_name localhost;  
    underscores_in_headers on;
    location  / {
	try_files $uri $uri /dist/index.html;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
	root   html;
    }
}
  • 然后双击启动nginx.exe,然后打开浏览器访问【http://localhost/】就可以了
  • 如果有购买外网云虚拟机,去云虚拟机上安装一个nginx,也是放进去直接把打包文件夹放进去,然后开启nginx服务,访问【http://外网ip或域名/】
  • 可以同时部署无限个项目的,那就不能用根目录了,因为根目录只有一个,查看【nginx/nginx安装】笔记
posted @ 2020-06-09 10:07  一个年轻淫  阅读(4247)  评论(0编辑  收藏  举报