踏歌

SurviveJS - 简介

踏歌 · 2016-12-05翻译 · 526阅读 原文链接

Introduction

James Jordan (CC BY-ND)

搜索

Table of Contents

目录

Leanpub上购买

参考

相关博客:StarRatio - Compare JavaScript Projects - Interview with Dmitry Zaets . Webpack通过解决基本的打包问题简化web开发。它可以识别JavaScript,CSS,HTML之类的资源,并将这些资源转成浏览器可以识别的格式。这个可以显著减轻web开发中的痛楚。

由于webpack是配置驱动的,所以学习它并不会很简单。本指南的目的是帮助您开始使用Webpack然后在基础上深入学习。

什么是webpack?#

web浏览器当初只为处理HTML,JavaScript和CSS而设计。 最简单的开发方式就是直接使用浏览器能够直接处理的文件。特别当你正在开发web应用时,这样做最终会使页面变得非常笨拙,缺乏扩展性。

将所有的javascript代码打包到一个文件中去加载是幼稚的行为。最终这将是不够的,你需要为了缓存而将代码分割。你甚至可以在你需要的时候去动态加载依赖。作为一个应用程序的开发,处理它的复杂性增加了。

Webpack就是为了解决这个问题而生的。它会帮我们处理上述问题。使用不同的工具和构建工作流也可以达到同样的目的。事实上,这往往是足够的。Grunt 和 Gulp这样的任务执行者也可以完成这个,但是你需要手写一大堆的配置。

Webpack是怎么改善这种情况的?#

Webpack用的是另外一种思路。它允许你把你的项目作为一个依赖关系图。你可以通过标准的import的语句将项目的依赖导入到index.js。你也可以用同样的方式引用样式文件或其他资源文件。

Webpack为你做了所有的预处理并且返回配置所指定的包。 这种声明的方式很强大,但是有那么一点难以学习。然而当你开始理解Webpack是如何工作的,它将成为一个不可或缺的工具。这本书的目的是完成初步的学习曲线。

你将会学到什么?#

这本书的目的是作为Webpack官方文档的补充。即使官方文档涵盖了很多资料,但它仍然可能不是学习使用工具的最简单的起点。这本书的目标是减轻学习曲线,同时给更多的高级用户提供思路。

你将学习如何制定一个基本的Webpack配置出于开发和生产的目的。你也将学习先进的技术,让你从Webpack众多强大的特性中受益。

本书是如何组织的?#

本书最开始的两部分介绍了Webpack和它的基本概念。您将开发基本配置,然后扩展配置文件以适合你的特定用途。早期章节是以任务为导向的。如果你忘记了如何实现一些特定于Webpack的东西,你可以稍后参考它们。

这本书的后半部分更侧重于进阶的主题。你将进一步了解到如何加载特定类型的资源,你也将加深你对Webpack的分块机制的理解,学会利用它为包装制作,编写自己的装载机。

这本书是给谁的?#

我期望你有JavaScript和Node.js的基本知识。你应该能够在初级水平上使用npm,如果你知道一些关于Webpack的知识,那将会更好。通过阅读这本书,你将加深你对这些工具的理解。

如果你恰巧熟悉Webpack,你依旧可以从这本书中学到一些东西。浏览它,看看你能不能学到一些技巧。我已经尽最大努力覆盖了一些工具中棘手的部分。

如果你发现你有学习困难,你可以考虑去本书周围社区寻求帮助。如果你被卡住或者不明白一些东西,我们会那里帮助你。你的任何评论都可能会提高图书内容。

如何阅读本书?#

如果你对这个话题不太了解,考虑仔细阅读本书的前两部分。你可以撇去其余的选择你觉得有趣的部分。如果你已经了解Webpack,撇去其余的选择你认为有价值的部分。

本书版本控制#

鉴于这本书因创新的步伐而得到了相当数量的维护和改进,所以有一个粗略的版本控制计划。我将会在book blog中维持每个新版本的发行说明。这样你就可以知道两个版本之间改变了什么。同时检查Github库可能是有益的。鉴于这一目的,我建议使用GitHub compare工具。 例如: https://github.com/survivejs/webpack/compare/v1.2.0...v1.3.3 该页面将显示在给定的版本范围内的个人提交。你还可以看到书中已更改的行。这不包括私有章节,但它足以让你对这本书的主要变化有一个清晰的了解。

本书的当前版本是 1.3.3

这本书是一个持续的努力,我欢迎通过下面讨论的各种渠道的反馈。我会尽我所能的根据需求扩大指南,使它为你服务。你甚至可以提供自己的修复,因为本书是开源的。

利润的一部分用于资助工具本身的开发

获取支持#

没有书是完美的,你可能会遇到一些与内容有关的问题。有几个路径来处理这个:

如果你在Stack Overflow提问,用survivejs标记他们,那样我可以收到通知。你也可以在推特中使用哈希标记#survivejs达到同样的效果。

声明#

我通过下面几个渠道发布SurviveJS相关的新闻

致谢#

非常感谢Christian Alfoni帮助我制作这本书的第一个版本.这激励了整个SurviveJS的努力,你现在看到的版本已经大幅修改。

谢谢我的编辑Jesús Rodríguez Rodríguez。如果没有他的耐心的编辑和反馈,这本书不会有现在一半好。

这本书本是不可能的要是没有'SurviveJS -webpack and React'最初的努力。任何对这个做过贡献的人都值的我感谢,你可以在书中找到更详细的属性。

Mike "Pomax" Kamermans, Cesar Andreu, Dan Palmer, Viktor Jančík, Tom Byrer, Christian Hettlage, David A. Lee, Alexandar Castaneda, Marcel Olszewski, Steve Schwartz, Chris Sanders, Charles Ju, Aditya Bhardwaj, Rasheed Bustamam, José Menor, Ben Gale, Jake Goulding, Andrew Ferk, gab等很多其他人为这本书提供了直接反馈。感谢他们

如果你对这个简介感兴趣,可以考虑订阅下面的邮件列表@survivejs以获得偶尔的更新。我们也为传统用户准备了RSS订阅。

Subscribe to the mailing list

订阅邮件列表

下个章节是Webpack Compared

This book is available through Leanpub. By purchasing the book you support the development of further content. A part of profit (~30%) goes to Tobias Koppers, the author of Webpack. 你可以在Leanpub上得到这本书。购买这本书以支持进一步的发展。一部分利润(大概30%)将会捐给Webpack的作者Tobias Koppers.

主页 阅读博客 购买电子书 @survivejs

社交信息

From the Blog

Need help?

相关文章