andy Wong's Blog

知道的越多,不知道的越多


  • 首页

  • 归档

  • 标签

  • 分类

  • 关于

总结18个webpack插件

发表于 2021-07-20 | 分类于 webpack
Plugin何为插件(Plugin)?专注处理 webpack 在编译过程中的某个特定的任务的功能模块,可以称为插件。plugin 是一个扩展器,它丰富了 webpack 本身,针对是 loader 结束后,webpack 打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听 webpack 打包过程中的某些节点,执行广泛的任务。 Plugin 的特点 是一个独立的模块 模块对外暴露一个 js 函数 函数的原型 (prototype) 上定义了一个注入 compiler 对象的 apply方法 apply 函数中需要有通过 compiler 对象挂载的 webpack 事件钩子 ...
阅读全文 »

从零构建到优化一个类似vue-cli的脚手架

发表于 2021-07-20 | 分类于 webpack
前言想必大多数人在开发 vue 等 SPA 项目都时候都会直接用 vue-cli 等脚手架开发,一是方便省去了好多配置上的功夫,二是 vue-cli 毕竟是久经考验较为成熟的东西,遇到问题也能在网上找到相应解决方案。 但是,如果我们要更好地理解脚手架的配置及其构建打包的机制,我们就有必要从零开始,依葫芦画瓢自己配置一个类似于 vue-cli 这样的项目了。在此,我做了以下简单配置,请各位大佬批评指正,并诚心希望能得到大佬的指点,解决文章最后关于 Tree Shaking 导致打包缺失 css 的问题。 本文主要包括如下配置: 区分环境变量及合并配置 webpack-dev-server 本 ...
阅读全文 »

从零构建一个wbpack项目

发表于 2021-07-20 | 分类于 webpack
从零构建一个wbpack项目1、新建项目新建一个空文件夹,用于创建项目,使用 npm init 命令创建一个 package.json 文件。输入这个命令后,终端会问你一系列诸如项目名称,项目描述,作者等信息,也可以使用 npm init -y 这个命令来一次生成 package.json 文件,这样终端不会询问你问题。 2、安装 webpack安装 webapck 时把 webpack-cli 也装上是因为在 webpack4.x 版本后 webpack 模块把一些功能分到了 webpack-cli 模块,所以两者都需要安装,安装方法如下: 12npm install webpack we ...
阅读全文 »

webpack中最易混淆的5个知识点

发表于 2021-07-20 | 分类于 webpack
1.webpack 中,module,chunk 和 bundle 的区别是什么?说实话我刚开始看 webpack 文档的时候,对这 3 个名词云里雾里的,感觉他们都在说打包文件,但是一会儿 chunk 一会儿 bundle 的,逐渐就迷失在细节里了,所以我们要跳出来,从宏观的角度来看这几个名词。 webpack 官网对 chunk 和 bundle 做出了解释[3],说实话太抽象了,我这里举个例子,给大家形象化的解释一下。 首先我们在 src 目录下写我们的业务代码,引入 index.js、utils.js、common.js 和 index.css 这 4 个文件,目录结构如下: 123 ...
阅读全文 »

条件语句优雅写法

发表于 2021-05-09 | 分类于 JavaScript

前言

在任何编程语言中,代码需要根据不同的条件在给定的输入中做不同的决定和执行相应的动作。

例如,在一个游戏中,如果玩家生命点为0,游戏结束。在天气应用中,如果在早上被查看,显示一个日出图片,如果是晚上,则显示星星和月亮。在这篇文章中,我们将探索JavaScript中所谓的条件语句如何工作。

阅读全文 »

手写Promise讲解

发表于 2021-05-09 | 分类于 JavaScript , promise

整体结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MyPromise {
constructor(fn){

}
resolve(){

}
then(){

}
reject(){

}
catch(){

}
}
阅读全文 »
1…456…13
andy Wong

andy Wong

前端渣渣辉

78 日志
15 分类
23 标签
GitHub
推荐阅读
  • 掘金
  • segmentfault
  • Web前端导航
  • 印记中文
  • 阮一峰ES6书籍
Copyright © 2015 - 2021 Powered By - andy Wong
Theme by ©next
Hosted by Github Pages