为了打造自己的开发生态,决定写一本书来理清思绪。主要聊聊模块化与打包,涉及的知识包括ES6、TypeScript、CommonJS、NodeJs、Npm、Webpack等。

从webpack说起,官网是https://www.webpackjs.com。

webpack 是一个高度可配置的JavaScript 应用程序静态模块打包器(module bundler)。

在开始之前,需要理解四个核心的概念:

  • 入口(entry)
  • 输出(output)
  • loader
  • 插件(plugins)

entry:是webpack执行打包的起始位置,由此开始构建模块与库的依赖。

output:是打包完成后输出的配置,例如打包结果输出位置,打包资源名称。

loader:由于webpack本身只关注js文件,对于打包中需要处理的其他类型文件,需要特殊处理,于是就 有了loader,loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块。

plugins插件:插件可以用于执行范围更广的任务。如果你要使用某个插件,只需在代码中引入它,然后把它添加到 plugins 数组中,打包后就能使用了。