2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 超简单的React项目打包后部署到服务器上

超简单的React项目打包后部署到服务器上

时间:2023-12-08 18:31:09

相关推荐

超简单的React项目打包后部署到服务器上

前言:我们都知道有些react项目路由采用的是BrowserRouter跟vue的history模式一样,打包后生成的不管是dist,还是build的文件,直接打开都无法直接浏览到项目,然后查看控制器,就发现它报错。

如图:

用脚手架创建的 react / vue 项目,已经集成了webpack,只要运行命令:npm run build 或 yarn run build 项目就会编译成功,生成一个dist文件夹,现在问题来了,如何启动这个编译后项目呢。

首先先说一下在本地里怎么能够运行打包后的文件吧:

1.静态服务器

对于使用Node的环境,处理这个最简单的方法是安装serve并让它处理其余的:

npm install -g serveserve -s build

上面显示的最后一个命令将在端口3000上为您的静态站点提供服务。像许多serve的内部设置一样,可以使用-l或--listen标志调整端口:

serve -s build -l 4000

运行此命令以获取可用选项的完整列表:

serve -h

另外你可以直接使用这条

serve -s

然后你需要cd dist文件下

运行

serve -s

看一下我的成功运行是这样的:

然后浏览器下输入地址就可以浏览到了。

如果你没有cd到dist文件那你可能看到的是整个项目的目录。

2.nginx

不懂如何配的可以直接访问:Windows下安装部署Nginx

另外我发现有人用tomcat服务器部署把dist文件放在webapps下输入路劲,但是我本人试了一下放在服务器里还是一样会报错,无法浏览,可能我配的不太对吧。
然后重点来了,前面说了那么多,还没说怎么部署到服务器上,其实,在本地上可以运行的,哪服务器为啥不行,很简单,还是刚才的哪两种方法,我只介绍最简单的静态服务器,本地与服务器的差别,无非就是服务器需要给其它人访问到,而且需要一直运行着。

采用serve服务部署项目

1.首先的你的linux系统需要安装有node环境

emm,我很早以前就装好了,没有的需要你自己百度。

2.在你的服务器上全局安装serve

npm install -g serve

3.打包好项目这个需要看你项目下的package.json文件

npm run buid

4.我是利用图形界面工具把dist文件直接拖过去的。
5.然后上传成功后就可以看到dist,cd 进入dist
6.执行指令

nohup serve -s &

或者你指定一下端口号

nohup serve -s build -l 3000 &

7.这时候你可以看到你有一个进程已经运行起来了。
8.退出的时候一定要exit离开,不然你关闭链接后,你的服务也会停掉
9.最后别忘了去阿里云的防火墙开放端口号3000,看你启动的是那个端口号就开放那个端口号
10.可以看到我的项目已经可以成功的跑起来了

react项目部署nginx服务器

1.安装Ngnix

参考:

1.菜鸟编程

/linux/nginx-install-setup.html

中途可能会报一些错

也可以参考这篇:

Linux系统中如何安装nginx

每个人的系统都不一样,装的时候肯定报一些错我给出几条安装时候常用的一些配置的时候用到的命令。

whereis命令: whereis语法: whereis 参数 查询目标find命令: find语法: find 路径 参数 输出常用 find /-name 文件名检查测试nginx的配置信息是否正确/usr/local/nginx/sbin/nginx -t修改了nginx的配置文件后,可以使用该命令让新的配置立即生效,而不用重启整个nginx服务器/usr/local/nginx/sbin/nginx -s reload 使用下面的命令检测nginx是否启动成功,并查看nginx的主进程和子进程的详细信息。ps aux | grep nginx

2.配置Ngnix

参考这篇

/post/6844903846129434638

nginx 里边 try_files的用法核心作用:可以替代rewrite作用域: server 、location没有默认值语法: try_files 【$uri 】 【 $uri/ 】 参数如:try_files $uri $uri/ /index.php$is_args$args 或 try_files $uri $uri/ = 404$uri 是请求文件的路径$uri/ 事请求目录的路径参数: $uri解释: 表示当前请求的URI,不带任何参数访问: curl /192.168.1.200?a=10 -I返回: "/192.168.1.200"

这是我的配置可以参考一下。

更多的可以参考这篇文章。利用nginx做反向代理。

Nginx反向代理

总结:

最常用的部署可能还是采用Nginx但是仔细想想每个项目可能要求nginx的配置不一样,也会可能导致其它的项目不可访问。而采用node环境下的serve,就安装node,跟serve,很简单,需要那个文件被访问到就在文件下执行serve -s很多时候这种都是给测试用的比较方便,但是要是个人项目的话部署,也可以采用这种方法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。