先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
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
属性默认是dis
,filename
属性默认是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
中的key
(home
、search
、list
),最终输出的结果是:
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
支持的占位符有:
| 占位符 | 含义 |
| —