1,下载npm
npm install
2,前端代码编译
npm run build
注意:前端打包报TS类型错误
打包执行的是npm run build命令,具体执行可查看package.json中配置项。
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview"
},
可以发现在build时,执行了vue-tsc --noEmit && vite build,其中
vue-tsc:Vue 官方提供的命令,用于执行 TS 的类型检查。它在执行时会根据项目中的 tsconfig.json 文件配置进行类型检查
--noEmit:TS 编译器的选项,使用 --noEmit 选项后,编译器仅执行类型检查,而不会生成任何实际的编译输出
在打包的时候编译器执行了TS类型检查,所以才报了一堆错,类型错误最终不会影响项目的正常运行
解决
根据上面分析,package.json中的"scripts"修改如下:
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
另外项目通常在编译时候,也会对我们引入的一些依赖包进行类型校验,我们并不需要这个操作,所以可以在tsconfig.json中设置如下:
"compilerOptions": {
"skipLibCheck": true
},
设置后编译器不会检查库文件中的类型定义是否正确,也不会对库文件的使用进行类型检查。
3,前端打包war:在dist目录下执行
jar -cvf hsa-cep-ebc-query-ui.war *
4,nginx运行前端
项目是前后端分离:前端用vue开发,后端用的是springboot开发
会产生跨域问题,故在前端里用了代理
1.前端项目是用vue开发:
1.1打包:终端 vscode快捷键:crtl+~ 然后npm run build
1.2:生成一个dist文件:复制到nginx下的html中。
1.3:更改nginx中 conf->nginx.conf
1.4.nginx -s quit强制停止,然后在start nginx.exe 进行启动,有时nginx中重启没用,访问 10.10.5.88:8085 就ok了。
5,记录当把项目放在其他window系统下产生问题
1. listen 8085; 例如这样子的,listen 和8085 中间最好是tab而不是空格,有时有问题,有时没问题。
2.(问题)\dist/index.html" failed (123: The filename, directory name, or volume label syntax is incorrect), 当访问的时候报500
该次解决:将 root D:\program\nginx-1.16.1\html\dist 换成 root D:/program/nginx-1.16.1/html/dist;
3.另一台电脑上配置:
server {
listen 8089;
server_name 192.16464.164.6;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root D:/program/nginx-1.16.1/html/dist;
try_files $uri $uri/ /index.html;
}
location /api { #4.当请求跨域时配置端口转发
proxy_pass http://192.164648.1.646:8211/; #5.转发地址
}
停止,再启动,访问。ok
如何打成jar包请看:https://www.cnblogs.com/yiyezhiqiuwuchen/p/12191113.html