Skip to content

Commit e4bb039

Browse files
committed
feat: 整合二叉树题
1 parent f712904 commit e4bb039

29 files changed

+1134
-329
lines changed

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130

131131
### webpack
132132

133-
- [webpack教材及案例目录](./前端工程化/webpack)
133+
- [webpack教材及案例目录](./前端工程化/webpack/README.md)
134134

135135

136136

@@ -203,3 +203,21 @@
203203

204204
- [全网最详bpmn.js教材github地址](https://github.com/LinDaiDai/bpmn-chinese-document)
205205

206+
207+
208+
## 后语
209+
210+
喜欢**霖呆呆**的小伙还希望可以关注霖呆呆的公众号 `LinDaiDai` 或者扫一扫下面的二维码👇👇👇.
211+
212+
| 公众号二维码 | 赞赏码 |
213+
| ----------------------------------------- | ----------------------------------- |
214+
| ![](./resource/LinDaiDai公众号二维码.png) | ![](./resource/LinDaiDai赞赏码.png) |
215+
216+
我会不定时的更新一些前端方面的知识内容以及自己的原创文章🎉
217+
218+
你的鼓励就是我持续创作的主要动力 😊
219+
220+
整理文章, 编写案例不易 😂...
221+
222+
走过路过的各位大佬能否打赏点饭钱呢...
223+
48.7 KB
Loading

resource/LinDaiDai赞赏码.png

23.4 KB
Loading

前端工程化/webpack/README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
- 资源管理: style-loader, css-loader, file-loader
5454
- 管理输出: 多个输入/输出, HtmlWebpackPlugin, CleanWebpackPlugin
5555

56-
**案例地址**: [LinDaiDai/webpack-basic](https://github.com/LinDaiDai/webpack-example)
56+
**案例地址**: [LinDaiDai/webpack-example/branch/webpack-basic](https://github.com/LinDaiDai/webpack-example/tree/webpack-basic)
5757

5858

5959

@@ -134,10 +134,16 @@
134134

135135
喜欢**霖呆呆**的小伙还希望可以关注霖呆呆的公众号 `LinDaiDai` 或者扫一扫下面的二维码👇👇👇.
136136

137-
<img src="./resource/LinDaiDai公众号二维码.png" alt="LinDaiDai公众号" />
137+
| 公众号二维码 | 赞赏码 |
138+
| ----------------------------------------- | ----------------------------------- |
139+
| ![](./resource/LinDaiDai公众号二维码.png) | ![](./resource/LinDaiDai赞赏码.png) |
138140

139141
我会不定时的更新一些前端方面的知识内容以及自己的原创文章🎉
140142

141-
你的支持和鼓励是我持续创作的主要动力 😊.
143+
你的鼓励就是我持续创作的主要动力 😊
144+
145+
整理文章, 编写案例不易 😂...
146+
147+
走过路过的各位大佬能否打赏点饭钱呢...
148+
142149

143-
<img src="./resource/LinDaiDai赞赏码.png" alt="LinDaiDai赞赏码" />
Loading
Loading

前端工程化/webpack/霖呆呆的webpack之路-构建方式篇.md

Lines changed: 134 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,57 @@
11
# 霖呆呆的webpack之路-构建方式篇
22

3+
4+
## 前言
5+
6+
你盼世界,我盼望你无`bug`。Hello 大家好!我是霖呆呆!
7+
8+
什么?!你还想要`"呆妹"`出来给你讲`webpack`?!小伙子,你的想法很危险❌啊。
9+
10+
不可能的,下次想要见到`"她"`可能要等到呆呆`5000`粉的时候吧😒。在这之前我绝不可能再女装👚了 😊。
11+
12+
(所以请醒醒吧,你看到的那么可爱的萌妹是一个帅哥!这个帅哥他迷惑了你!当然我现实生活中不叫帅哥哈,因为我在广东,所以他们一般都叫我靓仔)
13+
14+
另外关于「霖呆呆的webpack之路系列」的教材案例我更新了github的地址哦,之前那个太乱了我给删了,现在所有的教材案例都是同一个项目,不过不同的分支上可以下载单独的案例,主干上是所有的案例。具体下载方式请仔细阅读github上的README。([https://github.com/LinDaiDai/webpack-example](https://github.com/LinDaiDai/webpack-example)
15+
16+
------------
17+
18+
霖呆呆向你发起了多人学webpack
19+
20+
请选择:☑️接受 ⭕️拒绝
21+
22+
-----------
23+
24+
25+
26+
## webpack系列介绍
27+
28+
此系列记录了我在`webpack`上的学习历程。如果你也和我一样想要好好的掌握`webpack`,,那么我认为它对你是有一定帮助的,因为教材中是以一名`webpack`小白的身份进行讲解, 案例`demo`也都很详细, 涉及到:
29+
30+
- [基础篇](https://juejin.im/post/5e9ada576fb9a03c391300a1)
31+
- 构建方式篇(本章)
32+
- 优化篇
33+
- loader篇
34+
- 配置篇
35+
36+
建议先`mark`再花时间来看。
37+
38+
(其实这个系列在很早之前就写了,一直没有发出来,当时还写了一大长串前言可把我感动的,想看废话的可以点这里:[GitHub地址](https://github.com/LinDaiDai/webpack-example),不过现在让我们正式开始学习吧)
39+
40+
所有文章`webpack`版本号`^4.41.5`, `webpack-cli`版本号`^3.3.10`
41+
42+
`webpack3`中,`webpack`本身和它的`CLI`都是在同一个包中,但在第4版中,两者分开来了,也是为了让我们更好地管理它们。
43+
44+
通过阅读本篇文章你可以学习到:
45+
46+
- webpack --watch
47+
- webpack-dev-server 工具
48+
- webpack-dev-middle 工具, 以及配合express搭建本地web服务器
49+
- webpack-merge 构建不同的环境
50+
- process.env.NODE_ENV 的基本使用
51+
- webpack.DefinePlugin 插件指定 NODE_ENV
52+
53+
54+
355
## 一、几种开发工具
456

557
每次要编译代码时,手动运行 `npm run build` 就会变得很麻烦。
@@ -10,7 +62,9 @@
1062

1163
`webpack`中有几个不同的选项,可以帮助你在代码发生变化后自动编译代码.
1264

13-
**(以下教材案例GitHub地址: [LinDaidai/webpak-server])**
65+
**(第一节教材案例GitHub地址: [LinDaidai/webpack-example/tree/webpack-server](https://github.com/LinDaiDai/webpack-example/tree/webpack-server) ⚠️:请仔细查看README说明)**
66+
67+
1468

1569
### webpack's Watch Mode(观察者模式)
1670

@@ -28,6 +82,8 @@
2882

2983
(`--watch`也可以简写为`-w`)
3084

85+
86+
3187
### webpack-dev-server
3288

3389
使用`webpack-dev-server`会为你提供一个简单的web服务器, 它的作用就是监听文件的改变并自动编译, **同时会自动刷新页面**. 比观察者模式厉害.
@@ -52,20 +108,20 @@
52108

53109
```javascript
54110
module.exports = {
55-
devServer: {
56-
contentBase: './dist', // 告诉服务器从哪里提供内容
57-
host: '0.0.0.0', // 默认是 localhost
58-
port: 8000, // 端口号, 默认是8080
59-
open: true, // 是否自动打开浏览器
60-
hot: true, // 启用 webpack 的模块热替换特性
61-
hotOnly: true // 当编译失败之后不进行热更新
62-
}
111+
devServer: {
112+
contentBase: './dist', // 告诉服务器从哪里提供内容
113+
host: '0.0.0.0', // 默认是 localhost
114+
port: 8000, // 端口号, 默认是8080
115+
open: true, // 是否自动打开浏览器
116+
hot: true, // 启用 webpack 的模块热替换特性
117+
hotOnly: true // 当编译失败之后不进行热更新
118+
}
63119
}
64120
```
65121

66122
如果你使用了这个功能之后, 你就会发现, 它就有点`vue-cli`的样子了.
67123

68-
更多关于`devServer`的配置可以查看这里: [开发中Server](https://www.webpackjs.com/configuration/dev-server/)
124+
更多关于`devServer`的配置可以查看这里: [开发中Server](https://www.webpackjs.com/configuration/dev-server/)
69125

70126

71127

@@ -118,15 +174,15 @@ app.listen(3000, function() {
118174

119175
```json
120176
{
121-
"scripts": {
122-
"server": "node server.js"
123-
}
177+
"scripts": {
178+
"server": "node server.js"
179+
}
124180
}
125181
```
126182

127183
#### publicPath配置项
128184

129-
在学习这里的时候, 我顺便也了解到了`webpack.config.js` `output`的另一个属性`publicPath`.
185+
在学习这里的时候, 我顺便也了解到了`webpack.config.js` `output`的另一个属性`publicPath`.
130186

131187
开始看文档 [output.outputPath](https://www.webpackjs.com/configuration/output/#output-publicpath)的时候没太看懂.
132188

@@ -177,7 +233,7 @@ const compiler = webpack(config)
177233
// 把webpack 处理后的文件传递给一个服务器
178234
app.use(webpackDevMiddleware(compiler
179235
+ ,{
180-
+ publicPath: config.output.publicPath
236+
+ publicPath: config.output.publicPath
181237
+ }
182238
))
183239

@@ -221,7 +277,9 @@ icon.png => 变为 /assets/icon.png
221277

222278
虽说是想要编写各自独立的配置, 但是肯定也有一些公用的配置项, 我们可以将这些公用的配置项提取出来, 然后不同的配置写在不同的文件中.
223279

224-
**(以下教材案例GitHub地址: [LinDaidai/webpak-merge])**
280+
**(第二节教材案例GitHub地址: [LinDaidai/webpack-example/webpak-merge](https://github.com/LinDaiDai/webpack-example/tree/webpack-merge) ⚠️:请仔细查看README说明)**
281+
282+
225283

226284
### webpack-merge
227285

@@ -422,11 +480,11 @@ webpack --mode=development
422480

423481
```diff
424482
{
425-
"scripts": {
426-
"start": "webpack-dev-server --open --config webpack.dev.js",
427-
"build": "webpack --config webpack.prod.js",
428-
+ "local": "webpack --env.custom=local --env.production --progress --config webpack.local.js"
429-
}
483+
"scripts": {
484+
"start": "webpack-dev-server --open --config webpack.dev.js",
485+
"build": "webpack --config webpack.prod.js",
486+
+ "local": "webpack --env.custom=local --env.production --progress --config webpack.local.js"
487+
}
430488
}
431489
```
432490

@@ -530,18 +588,65 @@ module.exports = env => {
530588

531589
`combine-prod`生成的js文件是`main.a79eb0c94212b905d48b.bundle.js`
532590

533-
**但是有一点需要注意的是这里的env.NODE_ENV并不是process.env.NODE_ENV**, 所以它并不能改变process.env.
591+
**但是有一点需要注意的是这里的env.NODE_ENV并不是process.env.NODE_ENV**, 所以它并不能改变`process.env`.
534592

535593
也就是说不管你通过哪种方式生成的页面, 你在页面中获取到的`process.env.NODE_ENV`都还是`production`.
536594

537595

538596

539-
### 总结
597+
### 第二节总结
598+
599+
- 可以安装`webpack-merge`工具帮助我们将多个配置文件合并成一个
600+
-`webpack.config.js`获取不到环境变量`process`
601+
- 可以通过`webpack.DefinePlugin`插件帮助我们修改`process.env`的值
602+
- 还可以通过命令行`CLI`中的 `--mode` 来修改环境变量的模式
603+
- 若是`webpack.config.js`导出的是一个函数, 则允许我们在命令行中用 `--env` 传递环境变量
604+
605+
606+
607+
## 案例地址
608+
609+
第一节:https://github.com/LinDaiDai/webpack-example/tree/webpack-server
610+
611+
第二节:https://github.com/LinDaiDai/webpack-example/tree/webpack-merge
612+
613+
注意⚠️:其实「霖呆呆的webpack之路系列」所有的教材案例都是同一个项目,不过不同的分支上可以下载单独的案例,主分支上是所有的案例。具体下载方式请仔细阅读github上的README。
614+
615+
616+
617+
## 参考文章
618+
619+
知识无价,支持原创。
620+
621+
参考文章:
622+
623+
- [webpack中文文档](https://www.webpackjs.com/configuration/dev-server/)
624+
625+
626+
627+
## 后语
628+
629+
喜欢**霖呆呆**的小伙还希望可以关注霖呆呆的公众号 `LinDaiDai` 或者扫一扫下面的二维码👇👇👇.
630+
631+
632+
![](https://user-gold-cdn.xitu.io/2020/4/24/171ab5a3a5c179e4?w=900&h=500&f=gif&s=1632550)
633+
634+
我会不定时的更新一些前端方面的知识内容以及自己的原创文章🎉
635+
636+
你的鼓励就是我持续创作的主要动力 😊.
637+
638+
相关推荐:
639+
640+
[《全网最详bpmn.js教材》](https://juejin.im/post/5def372af265da33c84a4818)
641+
642+
[《【建议改成】读完这篇你还不懂Babel我给你寄口罩》](https://juejin.im/post/5e477139f265da574c566dda)
643+
644+
[《【建议星星】要就来45道Promise面试题一次爽到底(1.1w字用心整理)》](https://juejin.im/post/5e58c618e51d4526ed66b5cf)
645+
646+
[《【建议👍】再来40道this面试题酸爽继续(1.2w字用手整理)》](https://juejin.im/post/5e6358256fb9a07cd80f2e70)
647+
648+
[《【何不三连】比继承家业还要简单的JS继承题-封装篇(牛刀小试)》](https://juejin.im/post/5e707417e51d45272054d5d3)
540649

541-
**第二节中所有案例的GitHub地址: [LinDaiDai/webpack-merge]()**
650+
[《【何不三连】做完这48道题彻底弄懂JS继承(1.7w字含辛整理-返璞归真)》](https://juejin.im/post/5e75e22951882549027687f9)
542651

543-
- 可以安装webpack-merge工具帮助我们将多个配置文件合并成一个
544-
- 在webpack.config.js获取不到环境变量`process`
545-
- 可以通过webpack.DefinePlugin插件帮助我们修改process.env的值
546-
- 还可以通过命令行CLI中的 --mode 来修改环境变量的模式
547-
- 若是webpack.config.js导出的是一个函数, 则允许我们在命令行中用 --env 传递环境变量
652+
[《【精】从206个console.log()完全弄懂数据类型转换的前世今生(上)》](https://juejin.im/post/5d89b2a7f265da03dd3db2ca)

0 commit comments

Comments
 (0)