Vue 项目上线优化,前端开发职业规划

npm install babel-plugin-transform-remove-console --save-dev

  1. 配置babel.config文件

const prodPlugins = []

if (process.env.NODE_ENV === ‘production’) {

prodPlugins.push(‘transform-remove-console’)

}

module.exports = {

presets: [

‘@vue/cli-plugin-babel/preset’

],

plugins: [‘transform-remove-console’]

}

这样配置后 再次打包 包中就没有console了

问题:当运行npm run serve时 也会删除console 但是开发阶段我们需要

改善babel.config文件:

在这里插入图片描述

现在 只有在打包时会删除console

改善入口文件


初衷:

项目中的默认入口文件时main.js文件 不管是打包 还是开发阶段使用的都是这一文件

在卡法阶段我们可能调用一端口返回假数据 为调试我们的代码 但是在上线后我们需要用正式接口 可能不止一个 但是我们左右手动更改较为麻烦 且容易出错

在这里插入图片描述

优化:

  1. 创建两个入口文件:
  • 一个用于开发环境的打包 dev_env.js

  • 一个用于项目上线的打包 prod_env.js

  1. 配置打包的入口文件

module.exports={

chainWebpack:config=>{

config.when(process.env.NODE_ENV === ‘production’,config=>{

config.entry(‘app’).clear().add(‘./src/prod_env.js’)

})

config.when(process.env.NODE_ENV === ‘development’,config=>{

config.entry(‘app’).clear().add(‘./src/dev_env.js’)

})

}

}

说明

  • 开发时,使用 npm run serve 命令,NODE_ENV 的值就是 developmnent ,所以会将 dev.env.js 作为入口文件

  • 部署时,使用 npm run build 命令,NODE_ENV 的值就是 production,所以会将 prod_evn.js 作为入口文件

改善打包时包的体积大小


初衷:

通常情况下 项目中通过import方式引入的包 会将整个包下载到客户端 这可能会导致程序的加载速度非常慢

优化

解决方案一:CDN

将线上环境中用到一些依赖,比如 vue、vueRouter 、axios 等,使用 cdn 节点的方式引用,而不是打到包里去

此项目中 将项目上线后仍然需要用到的一些依赖包从prod_evn.js文件中删除 然后在 public/index.html 中使用 cdn 节点引用

  • 首先修改我们上线时的入口文件

在这里插入图片描述

  • 然后在 public/index.html 中加入如下引用
  • 最后在 vue.config.js 中添加配置

在这里插入图片描述

打包后 包的体积明显减小

路由懒加载


初衷:

在上面 通过babel 插件 将console删除 通过CDN节点 等 减小包的体积 但是包还是过大 影响加载速度 以当前项目为例,首先展示的登录页,事实上,此时没有必要加载其他的组件,如商品、类别、角色用户等组件的代码

因为代码被打包到一个文件中,导致下载这个文件太慢

优化:

切分之后,并不是浏览器访问某个路由,才去下载对应的模块,仍然在首次访问程序时,下载所有模块,只不过每个模块分的很小,加载首页时需要的模块能够更快的下载下来,所以能够更快的显示

  1. 安装插件

npm install --save-dev @babel/plugin-syntax-dynamic-import

  1. 修改babel配置文件

在这里插入图片描述

  1. 修改 router/index.js 中的路由引用

// // 引入login.vue组件

// import Login from ‘…/components/login.vue’

// // 引入home.vue组件

// import Home from ‘…/components/home.vue’

// import Welcome from ‘…/components/welcome.vue’

// import Users from ‘…/components/user/users.vue’

// import Rights from ‘…/components/rights/rights.vue’

// import Role from ‘…/components/rights/role.vue’

// import Category from ‘…/components/goods/Category.vue’

// import Params from ‘…/components/goods/Params.vue’

// import GoodsList from ‘…/components/goods/GoodsList.vue’

// import GoodsAdd from ‘…/components/goods/GoodsAdd.vue’

// import Orders from ‘…/components/order/Orders.vue’

// import Report from ‘…/components/report/Report.vue’

// import GoodsEdite from ‘…/components/goods/GoodsEdite.vue’

const Login = () => import(/* webpackChunkName: “group-login” */ ‘…/components/login.vue’)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

前端视频资料:
EF.jpg" />

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

[外链图片转存中…(img-aV1ioOma-1712217208036)]

前端视频资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值