前端基础之《React(8)—webpack简介-其他配置》

接上篇......

十六、配置路径别名

1、代码

配置路径别名config.js添加:

javascript 复制代码
    resolve: {
        alias: {
            '@': path.resolve(__dirname, '../', 'src')
        }
    }

十七、文件压缩

1、代码

本地开发时不压缩serve.js添加:

javascript 复制代码
    optimization: {
        minimize: false
    },

打包部署时压缩build.js添加:

javascript 复制代码
    optimization: {
        minimize: true
    },

十八、代码分割技术

1、如果webpack在运行过程中,遇到这样的代码:

比如有个模块dog.js

export default function() {

console.log('---dog')

}

平时加载代码用:

import dog form '@utils/dog.js'

这是同步加载,webpack打包时就会把dog.js代码和app合并在一起,如果dog模块代码非常大,生成的文件就很大

所以要做代码分割(动态导入):

const dog = () => import('@/utils/dog.js')

dog现在是function,现在没有调用,不会引入app.js,会新开一个js文件

调用时:

dog()

动态加载dog.js文件编译后的文件

动态导入技术:

当webpack打包时,只要遇到()=>import()这样的语法,会切割生成一个新的JS文件(chunk)

PS;vue路由懒加载就用到的这个技术

十九、Tree Sharking

1、摇树优化

入口文件main.js,可以理解是树根,main.js和后面所有模块产生树结构的关系

比如在文件中有方法在项目中任何地方都没用到,可以开启tree-sharking,把这个死代码摇掉

相关推荐
用户033307413956 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey6 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒8 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员8 小时前
iOS冷启动监控Demo
前端
光影少年8 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱8 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO9 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天9 小时前
趋势过滤:避免被“假突破“反复打脸
前端
8年区块链老兵9 小时前
一篇文章教会你:用区块高度读懂比特币链上的每一笔交易
前端
xixichensh9 小时前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端