关于Webpack前端工程化构建,你必须要掌握这些核心知识点(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

filename: ‘bundle.js’

}

};

在上面的配置文件中,我们配置了项目的入口(entry)和出口(output),在该项目的关系图中,entry字段指定了入口文件,即把main.js作为起点。output字段是指定了输出位置,即指定webpack把整理后的资源放在哪里。

2.2、webpack核心概念

webpack主要有4个核心概念:

入口(entry):项目入口,也是webpack所有依赖关系图的起点。

出口(output):指定webpack打包应用程序的目录。

加载器(loader):加载需要处理的模块,对模块进行转换处理。

插件(plugins):定义项目要用到的插件。

2.2.1、webpack入口(entry)和出口(output)

在前面的内容中,我们已经了解到了,webpack是一个模块打包工具,需要处理具有依赖关系的各个模块,这些模块会构成一个依赖关系图(dependency graph)。webpack的入口就是这张关系图的起点,指的是入口文件。webpack出口指的是需要把这张关系图导出到哪个文件中,即导出文件。

(1)入口(entry)

entry字段指定了入口文件,也可以理解为当前项目启动时运行的第一个文件,语法为:

entry: string | object | Arrary

entry字段支持多种类型,值可以是字符串、对象、数组。简单来理解,就是entry可以指定一个文件入口,也可以指定多文件入口。我们举例来说明entry的用法:

单文件入口示例

// 使用key-value方式

module.exports = {

entry: ‘path/to/my/entry/main.js’

};

// 或者使用对象方式

module.exports = {

entry: {

main: ‘path/to/my/entry/main.js’

}

};

// entry也可以使用数组指定多个入口文件路径,输出时会合并输出

module.exports = {

mode: ‘development’,

entry: [‘./src/app.js’, ‘./src/home.js’],

output: {

filename: ‘array.js’

}

};

多文件入口

// entry配置3个独立的入口文件,会打包成3个对应的bundle

module.exports = {

entry: {

home: ‘path/to/my/entry/home.js’,

search: ‘path/to/my/entry/search.js’,

list: ‘path/to/my/entry/list.js’

}

};

(2)出口(output)

output字段是指定entry对应文件编译打包后的输出位置,也可以理解为指定webpack把整理好的资源放到哪里。output字段常用的属性有:

  • path:指定打包完成的文件存放的路径;

  • filename:指定打包完成的文件的文件名称;

  • publicPath:指定一个在浏览器中被引用的URL地址;

如果不指定path参数,将默认将打包文件输出到webpack.config.js同级目录下;如果不指定output,打包文件会默认输出到dis/main.js,即output字段的path属性默认是disfilename属性默认是main

一个webpack的配置可以包含多个entry,但是只能有一个output。对于不同的entry可以通过output.filename占位符语法来区分,例如:

module.exports = {

entry: {

home: ‘path/to/my/entry/home.js’,

search: ‘path/to/my/entry/search.js’,

list: ‘path/to/my/entry/list.js’

},

output: {

filename: ‘[name].js’,

path: __dirname + ‘/dist’

}

};

在上面的配置中,output.filename指定的[name]就是一个占位符,对应的是entry中的keyhomesearchlist),最终输出的结果是:

path/to/my/entry/home.js → dist/home.js

path/to/my/entry/search.js → dist/search.js

path/to/my/entry/list.js → dist/list.js

目前webpack支持的占位符有:

| 占位符 | 含义 |

| —

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值