美文网首页
Webpack2 起步

Webpack2 起步

作者: kviccn | 来源:发表于2017-02-09 21:21 被阅读101次

    webpack 是什么?

    webpack 是一个模块加载器兼打包工具,它能把各种资源,例如 jstsjsxcsslessscss、图片等都作为模块来使用和处理。

    先看一下本例中最终的目录结构

    使用 webpack 前需先安装 NodeJS
    直接上官网的例子

    创建一个文件夹并切换到此文件夹

    mkdir webpack-demo && cd webpack-demo
    

    使用 npm init 初始化项目

    npm init -y
    

    此时目录下会生成一个 package.json 文件,该文件中记录着项目相关的信息。

    **安装 webpack **

    npm install --save-dev webpack
    

    --save-dev 参数说明将 webpack 作为开发依赖安装。

    安装 lodash (非 webpack 运行必须,只是后面的代码中会用到)

    npm install --save lodash
    

    --save 参数说明将 lodash 作为项目运行时依赖安装。

    在项目根目录下创建一个子目录 app 并在此目录中创建 index.js 文件。

    app/index.js

    import _ from 'lodash';
    
    function component () {
      var element = document.createElement('div');
    
      /* 下一行中会使用 lodash */
      element.innerHTML = _.join(['Hello','webpack'], ' ');
    
      return element;
    }
    
    document.body.appendChild(component());
    

    新建一个 index.html 文件,打包好的文件在此文件中使用。

    index.html

    <html>
      <head>
        <title>webpack 2 demo</title>
      </head>
      <body>
        <script src="dist/bundle.js"></script>
      </body>
    </html>
    

    bundle.js 是最终生成的文件。

    睁大眼睛仔细看,最重要的姿势来了。

    webpack.config.js

    在项目根目录下创建这个文件

    // 引入 path 模块,这是 nodejs 内置的模块,用于处理路径
    const path = require('path');
    
    // 导出了一个对象,webpack 就是根据该对象对项目进行各种操作的
    module.exports = {
      // 入口文件,项目将从这个文件开始编译
      entry: './app/index.js',
      // 出口文件
      output: {
        filename: 'bundle.js', // 出口文件名称
        path: path.resolve(__dirname, 'dist') // 出口文件路径
      }
    };
    

    __dirname 表示该文件所在目录,在这个项目中 path.resolve(__dirname, 'dist') 表示的是 webpack-demo/dist 目录。

    在配置一下 package.json 文件就可以运行了

    打开 package.json

    scripts 中加入 build 字段:

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

    可以看到 webpack 命令后有三个参数:
    --config 指定使用的配置文件为 webpack.config.js
    --progress 在控制台显示编译进度
    --colors 指定控制台为彩色输出

    好了,让我们来运行 webpack

    在控制台输入如下命令:

    npm run build
    

    最后,看到有如下输出则表示编译成功

    > webpack-demo@1.0.0 build D:\workspace\webpack\webpack2\webpack-demo
    > webpack --config webpack.config.js --progress --colors
    
    Hash: b92a9f2483fc4492ccc9
    Version: webpack 2.2.1
    Time: 592ms
        Asset    Size  Chunks                    Chunk Names
    bundle.js  544 kB       0  [emitted]  [big]  main
       [0] ./~/lodash/lodash.js 540 kB {0} [built]
       [1] (webpack)/buildin/global.js 509 bytes {0} [built]
       [2] (webpack)/buildin/module.js 517 bytes {0} [built]
       [3] ./app/index.js 278 bytes {0} [built]
    

    此时,项目根目录下会生成 dist/bundle.js 文件

    现在,用浏览器打开 index.html 文件来见证一下奇迹吧。_

    相关文章

      网友评论

          本文标题:Webpack2 起步

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