零、前言

当我被要求写这本培训书时,我意识到对 webpack 及其目的知之甚少。这通常是开发人员在工作中偶然发现和学习的东西,这可能是一个非常费力的过程。在 Webpack.js 网站上有一些文档,还有一些可信的资源,比如 Medium。然而,这些资源确实倾向于从专家的角度与读者交流,我发现这并不理想。

来自网络开发讲师的背景,我看到了非常熟练和聪明的人是如何有盲点和知识差距的。作为一名讲师,我被告知没有错误的问题,并且也传达了这个信息。许多没有教学背景的人可能会暗示他们不想和你说话,更希望你不要问错问题。我们发现,如果学生宁愿对提问保持沉默,这是有害的。

我打算让事情尽可能简单。我可能已经用“定制”这样的词失败了,尽管如此,前提是我们所有人都有拍脑袋的时刻,我们应该做点什么,然后意识到我们做错了什么。我说得对吗?嗯,它发生在我们当中最聪明的人身上。此外,大多数导师可能不愿意和你深入交谈,因为害怕光顾你。问题是总会有一些平淡无奇的细节,开发者认为很明显,但可以有多种解释。我讲课时的规则是:“没有愚蠢的问题”,所以我希望证明那个理论的必要性。

这本书是给谁的

这本书是为那些希望通过学习 Webpack 在他们的网络项目中开始依赖关系管理的网络开发人员准备的。假设具备 JavaScript 的工作知识。

这本书涵盖了什么

第一章介绍 Webpack 5 ,将为大家介绍 Webpack——具体来说就是 Webpack 第 5 版。它将包括关于网络包的核心概念及其使用方式的概述。

第 2 章使用模块和代码拆分将详细介绍模块和代码拆分,以及对理解 Webpack 至关重要的 Webpack 5 的一些更显著和有趣的方面。

第 3 章使用配置和选项,将着眼于配置的世界,了解其局限性和功能,以及选项可以发挥作用的地方。

第 4 章API、插件和加载器,将窥探 API、加载器和插件的世界。Webpack 的这些特性阐述了平台的能力,从配置和选项的回弹。

第五章库和框架,将讨论库和框架。我们对插件、API 和加载器的研究表明,有时,我们不想使用远程代码,比如库,但有时我们会使用。Webpack 通常处理本地托管的代码,但有时我们可能希望使用库。这为这个话题提供了一个很好的过渡。

第 6 章生产、集成和联合模块,将对这一主题进行深入介绍,并有望解决您作为开发人员可能存在的任何顾虑。

第七章调试和迁移,将讨论热模块替换和实时编码,并抓紧一些严肃的教程。

第 8 章创作教程和实时编码黑客,将向您展示网络包 5 中非常简单、易于应用但定制的实用课程的工作示例,特别是网络包 5 的早期版本。将会有普通的 JavaScript 教程以及通用框架,Vue.js 将会是一个很好的例子。

充分利用这本书

你可以在https://github.com/PacktPublishing/Webpack-5-Up-and-Running找到本书所有章节使用的代码。要充分利用这本书,你需要以下资料:

  • JavaScript 的基础知识。
  • 确保您安装了最新版本的 Webpack 5。
  • 您将需要使用命令行界面,如命令提示符或您选择的其他命令行实用程序。
  • 您将需要 Node.js,即 JavaScript 运行时环境。
  • 确保您已经安装了最新版本的 Node.js (webpack 5 至少需要 node . js 10 . 13 . 0(LTS));否则,你可能会遇到很多问题。
  • 您需要将npm以管理员级别的权限安装在您的本地机器上。网络包和网络包 5 在 Node.js 环境中运行,这就是为什么我们需要它的包管理器——NPM。
  • 截至本文撰写之时,最新版本是 Webpack 第 5 版。访问https://webpack.js.org为您查找最新版本。

下载示例代码文件

你可以从你在www.packt.com的账户下载这本书的示例代码文件。如果您在其他地方购买了这本书,您可以访问www.packtpub.com/support并注册将文件直接通过电子邮件发送给您。

您可以按照以下步骤下载代码文件:

  1. 登录或注册www.packt.com
  2. 选择“支持”选项卡。
  3. 点击代码下载。
  4. 在搜索框中输入图书的名称,并按照屏幕指示进行操作。

下载文件后,请确保使用最新版本的解压缩文件夹:

  • 视窗系统的 WinRAR/7-Zip
  • zipeg/izp/un ARX for MAC
  • 适用于 Linux 的 7-Zip/PeaZip

这本书的代码包也托管在 https://github.com/PacktPublishing/Webpack-5-Up-and-Running 的 GitHub 上。如果代码有更新,它将在现有的 GitHub 存储库中更新。

我们还有来自丰富的图书和视频目录的其他代码包,可在【https://github.com/PacktPublishing/】获得。看看他们!

使用的约定

本书通篇使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特句柄。这里有一个例子:“以下几行是来自package.json文件的代码片段。”

代码块设置如下:

"scripts": {
"build": "webpack --config webpack.config.js"
}

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

<!doctype html>
<html>
 <head>
 <title>Webpack - Test</title>
 <script src="https://unpkg.com/lodash@4.16.6"></script>
 </head>
 <body>
 <script src="./src/index.js"></script>
 </body>
</html>

任何命令行输入或输出都编写如下:

npm install --save-dev webpack-cli

粗体:表示一个新的术语、一个重要的单词或者你在屏幕上看到的单词。例如,菜单或对话框中的单词像这样出现在文本中。下面是一个示例:“从管理面板中选择系统信息。”

Warnings or important notes appear like this. Tips and tricks appear like this.

取得联系

我们随时欢迎读者的反馈。

一般反馈:如果你对这本书的任何方面有疑问,在你的信息主题中提到书名,发邮件给我们customercare@packtpub.com

勘误表:虽然我们已经尽了最大的努力来保证内容的准确性,但是错误还是会发生。如果你在这本书里发现了一个错误,如果你能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata,选择您的图书,点击勘误表提交链接,并输入详细信息。

盗版:如果您在互联网上遇到任何形式的我们作品的非法拷贝,如果您能提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packt.com联系我们,并提供材料链接。

如果你有兴趣成为一名作者:如果有一个你有专长的话题,你有兴趣写或者投稿一本书,请访问authors.packtpub.com

复习

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在的读者可以看到并使用您不带偏见的意见来做出购买决定,我们在 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们的书的反馈。谢谢大家!

更多关于 Packt 的信息,请访问packt.com