当前位置:   article > 正文

vue3项目打包和上线_vue3 打包

vue3 打包

一、vue3项目打包

1.去掉项目中console.log和debugger

在vite.config.ts文件中添加esbuild:{drop:["console","debugger"]}

  1. export default defineConfig({
  2. esbuild:{//打包时去除console和debugger代码
  3. drop:["console","debugger"]
  4. },
  5. plugins: [
  6. AutoImport({
  7. resolvers: [ElementPlusResolver()],
  8. }),
  9. Components({
  10. resolvers: [ElementPlusResolver()],
  11. }), vue(), vueJsx(),
  12. ],
  13. resolve: {
  14. alias: {
  15. '@': fileURLToPath(new URL('./src', import.meta.url))
  16. }
  17. },
  18. server: {
  19. port: 3000,
  20. open: false, //自动打开
  21. base: "./ ", //生产环境路径
  22. proxy: { // 本地开发环境通过代理实现跨域,生产环境使用 nginx 转发
  23. // 正则表达式写法
  24. '/m.api': {
  25. target: 'http://192.168.1.188:8080', // 后端服务实际地址
  26. changeOrigin: true, //开启代理
  27. }
  28. }
  29. },
  30. })

2.去掉ts类型检测

在package.json文件中scripts对象中

"build": "run-p type-check build-only"改为"build": "run-p build-only"

3.打包

npm run build

4.预览打包后的项目

npm run preview

5.预览时遇到的一些问题

(1)echarts首次渲染没问题,第二次渲染却成空白

产生原因:echarts插件自带的bug

解决方法

  1. onBeforeUnmount(() => {//防止echarts带来的空白bug
  2. if (column) {
  3. column.dispose()
  4. column = undefined
  5. }
  6. if (line) {
  7. line.dispose()
  8. line = undefined
  9. }
  10. if (pie) {
  11. pie.dispose()
  12. pie = undefined
  13. }
  14. if (pies) {
  15. pies.dispose()
  16. pies = undefined
  17. }
  18. })

(2)控制台输出404

产生原因:未找到图标文件,路径错误

解决方法:在入口index.html文件中路径中的"."去掉

  1. <link rel="icon" href="./favicon.ico">
  2. 改为
  3. <link rel="icon" href="/favicon.ico">
  4. <link rel="stylesheet" href="./public/iconfont/iconfont.css">
  5. 改为
  6. <link rel="stylesheet" href="/public/iconfont/iconfont.css">

二、项目上线

1.上线,将打包好的文件上传到服务器

服务器分为:外网服务器和内网服务器

2.常见文件上传的方式

(1)8UFTP,文件传输工具

(2)宝塔,服务器管理工具(常用、方便、重点)

3.使用宝塔上线操作过程

(1)宝塔是以网页的方式提供,所以你需要获取以下信息(公司提供)

网站:例如:http://zxwyit.cn:8888/3XelX3u9

用户名和密码:例如admin 10086

(2)在宝塔内创建站点

(3)上传打包好的文件到站点

(4)测试上线后的项目

4.项目上线后遇到的一些问题

(1)刷新页面后跳到404错误页面

产生原因:自带的bug

解决方法1:将路由模式改为hash模式,在router文件夹下的index.ts

  1. history: createWebHistory(import.meta.env.BASE_URL)
  2. 改为
  3. history: createWebHashHistory(import.meta.env.BASE_URL)

解决方法2:不改变路由模式,修改服务器配置文件,

具体参考vue-router官方文档v4.x版本中的不同的历史模式中的服务器配置示例

示例:这里以nginx类型的服务器为例

在宝塔中站点设置中配置文件里"禁止访问的文件或目录"的位置添加一下代码

  1. location / {//解决刷新404问题
  2. try_files $uri $uri/ /index.html;
  3. }
  4. location /m.api {//解决跨域问题
  5. proxy_pass http://192.168.1.188:8080(跨域代理)
  6. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/120389
推荐阅读
相关标签
  

闽ICP备14008679号