美文网首页
学习webpack(一)

学习webpack(一)

作者: _米黎 | 来源:发表于2017-05-18 15:06 被阅读49次

安装

前提:安装了node.js和npm

  • 进行全局安装 运行命令:npm install webpack -g
  • 安装成功后可以运行命令:webpack -h查看当前安装的版本信息,以及可以使用的指令。
  • 我们也可以将webpack安装到当前的项目依赖中,
1.确保进入项目目录 
2.确定已经有 package.json,如果没有就通过命令:npm init 创建
3.安装webpack依赖:npm install webpack --save-dev

安装好的 package.json应该是下面这个样子:

{
  "name": "first-demo",
  "version": "1.0.0",
  "description": "this is my first demo",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "mihaibo",
  "license": "MIT",
  "devDependencies": {
    "css-loader": "^0.28.1",
    "style-loader": "^0.17.0",
    "webpack": "^2.5.1"
  }
}

用webpack运行第一个打包程序

  • 首先创建一个index.html文件和js入口文件entry.js文件

index.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="">
</head>
<body>
    <h1 id="app"></h1>
    <!-- 注意这里引入的文件不是我们创建的文件,而是用webpack生成的文件 -->
    <script src="bundle.js"></script>
</body>
</html>

entry.js:

document.getElementById("app").innerHTML = "这是我第一个打包成功的程序";

文件创建成功,可以开始进行打包,输入以下命令行:
webpack entry.js bundle.js

现在用浏览器打开index.html页面会看到:

这是我第一个打包成功的程序

接下来再添加一个js文件,first.js 内容如下:

var h2= document.createElement("h2")
h2.innerHTML="不是吧,那么快第二个打包程序啦!";
document.body.appendChild(h2);

接下来我们对entry.js进行一些修改:

document.getElementById('app').innerHTML="这是我第一个打包成功的程序";
//添加
require("./first.js");

webpack again! 命令行输入:webpack entry.js boundle.js
打包成功后会显示日志:

Hash: 85cd213edf4c9ab6c8e7
Version: webpack 2.5.1
Time: 522ms
    Asset     Size  Chunks             Chunk Names
bundle.js  18.8 kB       0  [emitted]  main
   [0] ./first.js 108 bytes {0} [built]
   [1] ./entry.js 157 bytes {0} [built]

刷新浏览器 会发现又加了一行文字。

Webpack 会分析入口文件,解析包含依赖关系的各个文件。这些文件(模块)都打包到 bundle.js 。Webpack 会给每个模块分配一个唯一的 id 并通过这个 id 索引和访问模块。在页面启动时,会先执行 entry.js 中的代码,其它模块会在运行 require 的时候再执行。

参考自guowenfh

相关文章

网友评论

      本文标题:学习webpack(一)

      本文链接:https://www.haomeiwen.com/subject/yupsxxtx.html