前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Webpack 10分钟入门

Webpack 10分钟入门

作者头像
Jerry Wang
发布2019-05-30 20:16:16
2530
发布2019-05-30 20:16:16
举报

可以说现在但凡开发Single page application,webpack是一个不可或缺的工具。

WebPack可以看做是一个模块加工器,如上图所示。它做的事情是,接受一些输入,经过加工产生一些输出。

输入是我们web前端项目的模块文件,通常情况下这些文件都不能直接被浏览器的JavaScript执行引擎所执行。

输出是经过webpack加工后的能被浏览器使用的javascript和静态资源文件。比如ES6的js转成ES5的js,CSS预处理器文件转成CSS文件等等。

我们来动手做一个具体的例子。这个例子只花费10分钟时间,就能让我们熟悉webpack的基本用法。

1. 新建一个文件夹,首先用npm init命令创建一个package.json:

在下面使用命令行npm install --save-dev webpack,安装webpack并保存到项目的package.json的devDependencies下面。

花了一分钟才执行完毕。

执行完毕后,检查package.json, 发现webpack出现在devDependencies区域里。

此时项目文件夹层次结构如下图:

2. 新建一个index.html文件,输入以下内容:

代码语言:javascript
复制
<html>

<div id="app"></div>

<script src="./dist/bundle.js"></script>

</html>

从源代码看出,这个html引用了一个webpack打包之后生成的输出文件。

既然是模块化开发,我们就新建一个模块,实现文件放在print.js里:

代码语言:javascript
复制
function print(content){

    window.document.getElementById("app").innerText = "Hello," + content;

}

module.exports = print;

这个模块就实现了一个print函数,把传入的字符串显示在index.html的id为app的div标签里。

有了module后,我们还需要执行这个module。为此,新建一个main.js文件,输入下列内容:

代码语言:javascript
复制
const print = require("./print.js");

print("Jerry");

最后,我们得生成index.html使用到的bundle.js文件。为此,我们要给webpack定义一个任务,通过新建文件webpack.config.js完成。

entry字段定义了webpack的输入:main.js, 输出则放在当前目录dist下面的bundle.js里。

代码语言:javascript
复制
const path = require("path");

module.exports = {

entry: "./main.js",

output: {

filename: "bundle.js",

path: path.resolve(__dirname, "./dist"),

},

mode: 'development' // 设置mode

};

至此,webpack_demo文件夹下的资料看起来是这样的:

执行命令行webpack:

执行完webpack后,打开index.html, 看到了我们期望中的Hello Jerry:

至此,一个最简单的webpack例子就跑通了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年02月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档