赞
踩
一个用于开发环境的打包 dev_env.js
一个用于项目上线的打包 prod_env.js
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 节点引用
打包后 包的体积明显减小
在上面 通过babel 插件 将console删除 通过CDN节点 等 减小包的体积 但是包还是过大 影响加载速度 以当前项目为例,首先展示的登录页,事实上,此时没有必要加载其他的组件,如商品、类别、角色用户等组件的代码
因为代码被打包到一个文件中,导致下载这个文件太慢
切分之后,并不是浏览器访问某个路由,才去下载对应的模块,仍然在首次访问程序时,下载所有模块,只不过每个模块分的很小,加载首页时需要的模块能够更快的下载下来,所以能够更快的显示
npm install --save-dev @babel/plugin-syntax-dynamic-import
// // 引入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’)
const Home = () => import(/* webpackChunkName: “group-common” */ ‘…/components/home.vue’)
const Welcome = () => import(/* webpackChunkName: “group-common” */ ‘…/components/welcome.vue’)
const Users = () => import(/* webpackChunkName: “group-common” */ ‘…/components/user/users.vue’)
const Rights = () => import(/* webpackChunkName: “group-rights” */ ‘…/components/rights/rights.vue’)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
介绍一下react
React单项数据流
react生命周期函数和react组件的生命周期
react和Vue的原理,区别,亮点,作用
reactJs的组件交流
有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢
项目里用到了react,为什么要选择react,react有哪些好处
怎么获取真正的dom
选择react的原因
react的生命周期函数
setState之后的流程
react高阶组件知道吗?
React的jsx,函数式编程
react的组件是通过什么去判断是否刷新的
如何配置React-Router
路由的动态加载模块
Redux中间件是什么东西,接受几个参数
redux请求中间件如何处理并发
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Redux中间件是什么东西,接受几个参数
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-WM0lZzZm-1712705404221)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。