webpack初识!

简介: 最近在使用webpack 感觉棒棒哒 下面这个简单的教程可以让你走入webpack的世界欢迎使用webpack这个小教程通过简单的例子来引导大家使用webpack通过这些这篇文章你可以学到如何安装webpack如何使用webpack如何使用加载器如何使用开发服务器安装webpack 你的电脑上需要先安装node.

最近在使用webpack 感觉棒棒哒 下面这个简单的教程可以让你走入webpack的世界

欢迎使用webpack


这个小教程通过简单的例子来引导大家使用webpack

通过这些这篇文章你可以学到

  • 如何安装webpack
  • 如何使用webpack
  • 如何使用加载器
  • 如何使用开发服务器

安装webpack 

你的电脑上需要先安装node.js

$ npm install webpack -g
 这样就可以使用webpack命令

编码

在一个空的文件夹里创建一个文件
添加 entry.js

document.write("It works.");

添加 index.html

<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <script type="text/javascript" src="bundle.js" charset="utf-8"></script>
    </body>
</html>

在当前文件夹下输入下面命令

$ webpack ./entry.js bundle.js

运行上面命令将会把entry.js编译为bundle.js,如果编译成功就会有下面的提示

img_e1c1c5c0c5fcf0bd8c77159bbcf58c1d.png

在浏览器里打开index.html
img_078b7786cc5e2d803fc2dea184357618.png

第二个文件

接下来 我们把一些代码移到另一个文件
添加 content.js

module.exports = "It works from content.js."

修改 entry.js

-  document.write("It works");
+  document.write( require("./content.js));

然后继续编译

$ webpack ./entry.js bundle.js

刷新浏览器

img_7c2edf55186da50330db448c01116d5f.png

webpack 会分析你的entry文件所依赖的其他文件,这些文件(也叫模块)也会被包含在你的bundle.js中,webpack会给每个模块一个唯一的id并且通过这些id很容易的保存所有模块到bundle.js。在启动时只有入口模块被调用执行,一个简单的运行提供了所需的功能并且在需要其他模块时执行依赖

第一个加载器

我们希望在我们的应用里添加css文件
WebPack只能处理JavaScript本身,所以我们需要CSS加载器来处理CSS文件。我们还需要的样式装载在CSS文件应用的样式。
在控制台之行

npm install css-loader style-loader

来安装加载器(需要本地安装所以不需要-g 在项目文件夹里安装)安装后会在项目文件里创建一个node-modules 文件夹

接下来我们创建一个 style.css

body{background:#ff0000;}

修改 entry.js

+require("!style!css!./style.css");
document.write(require("./content.js));

继续执行上面那句编译命令再刷新浏览器
img_bdb5795ad8c26dae375d3ae027c1a9d3.png

通过前缀加载器这个模块儿以某种渠道被加载 这些加载器通过特殊的方式转换文件内容 转换后成为javascript模块

捆绑加载器

我们不希望写require("!style!css!./style.css");这么长么长的require
那么我们可以为加载器绑定文件扩展名 之后我们就可以直接写require("./style.css")这样

修改entry.js

- require("!style!css!./style.css");
+ require("./style.css");
  document.write(require("./content.js"));

编译

webpack ./entry.js bundle.js --module-bind 'css=style!css'

有些环境可能要在"css=style!css" 加双引号

配置文件

我们希望把所有的配置都放在一个配置文件里面

添加webpack.config.js文件

module.exports = {
    entry: "./entry.js",
    output: {
        path: __dirname,
        filename: "bundle.js"
    },
    module: {
        loaders: [
            { test: /\.css$/, loader: "style!css" }
        ]
    }
};

现在我们只需要在终端执行

webpack

img_ea29d1393e5926096cf93d6f8f58a02c.png

webpack命令需要在webpack.config.js所处的文件目录下执行

一个有趣的输出

如果我们的项目文件较大需要一个较长时间的编译 编译时我们希望有一个带颜色的进度条展示 我们可以通过一下命令实现

webpack --progress --colors

监听模式

如果不想每次修改文件都去重新执行一遍命令我们可以用下面命令来监听文件变化并编译

webpack --progress --colors --watch

webpack在编译时可以缓存未改变的模块儿和输出文件

开发环境服务

这个主要是起了个node的sever服务可以在浏览器上通过设置的端口访问并且还能实时刷新页面的修改内容,非常方便实用哟

npm install webpack-dev-server -g

webpack-dev-server --progress --colors

本文翻译于 webpack官网开始教程

目录
相关文章
|
1月前
|
缓存 JavaScript
webpack之SplitChunksPlugin
webpack之SplitChunksPlugin
18 0
|
10天前
|
前端开发 JavaScript
webpack使用
webpack使用
|
21天前
|
前端开发 JavaScript Linux
|
4月前
|
前端开发 JavaScript 测试技术
对Webpack的理解
对Webpack的理解
23 0
|
4月前
|
JavaScript 前端开发
webpack
webpack
35 0
webpack
|
8月前
|
JSON 缓存 前端开发
webpack相关详细讲解。
webpack相关详细讲解。
|
8月前
|
缓存 前端开发 JavaScript
浅谈webpack
浅谈webpack
87 0
|
前端开发 JavaScript
关于 Webpack 的介绍,什么是 Webpack?
Webpack 是一款现代化的前端构建工具,它可以将你的项目中的多个 JavaScript 模块打包成一个或多个 bundle 文件,同时还可以处理各种类型的静态资源,比如 CSS、图片等等。 Webpack 最初是由 Tobias Koppers 开发的,目前已经成为了前端开发中使用最广泛的构建工具之一。
113 0
|
JavaScript 前端开发
从了解到使用webpack
Webpack本质上是一种前端资源编译,打包工具
68 0
|
前端开发 JavaScript
1、webpack
1、webpack
69 0