美文网首页
webpack介绍

webpack介绍

作者: 涧草蘼芜 | 来源:发表于2018-10-07 22:03 被阅读0次

webpack是一个优秀的静态模块打包工具,它可以递归地构建出依赖关系,将所有模块打包成一个或多个bundle。

webpack

1. 安装

要使用webpack需要安装:

npm install --save-dev webpack

如果使用4.+版本还需要安装:

npm install --save-dev webpack-cli

建议本地安装,本地安装完成后直接使用node_modules/.bin/webpack访问webpack程序。

2. 配置

webpack的配置使用js编写,默认名字为webpack.config.js。一个简单的配置如下:

var path = require('path');

module.exports = {
  mode: 'development',
  entry: './foo.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'foo.bundle.js'
  }
};

任何一个配置文件必需的两个字段包括:

  • 入口(entry),即webpack根据这个入口建立依赖关系;
  • 输出(output),处理后的bundle。
    模式(mode)告诉webpack如何优化。目前可以选择的有developmentproduction,该参数也可以通过命令行传递:webpack --mode=production。开发和生产模式,webpack会对代码做不同的优化策略。

以上是一个单入口的例子,也可以写成:

entry: {
  main: './path/to/my/entry/file.js'
}

webpack也支持多入口方式:

entry: {
  app: './src/app.js',
  vendors: './src/vendors.js'
},
output: {
  filename: '[name].js',
  path: __dirname + '/dist'
}

3. loader处理非js文件

webpack本身只能处理javascript文件,其他文件需要借助loader来处理,loader可以将其他类型文件转换为webpack能处理的模块。loader有两个字段test、use,test表示匹配哪些文件做转换,use表示使用哪个loader:

const path = require('path');

module.exports = {
  ...
  module: {
    rules: [
      { test: /\.txt$/, use: 'raw-loader' }
    ]
  }
};

例如,我们可以使用css-loaderstyle-loaderts-loader处理css和typescript文件:

npm install --save-dev css-loader style-loader ts-loader
module.exports = {
  module: {
    rules: [
      { test: /\.css$/, use: ['css-loader', 'style-loader'] },
      { test: /\.ts$/, use: 'ts-loader' }
    ]
  }
};

4. 插件

插件对于webpack很重要,webpack本身也是构建在插件上的。我们可以使用插件完成很多工作。

const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
...
plugins: [
        new HtmlWebpackPlugin({
            title: 'test',
            filename: 'index.html',
            template: path.resolve(__dirname, 'src/index.html'),
            inject: 'body'
        }),
    ],
...
}

要使用一个插件,在webpack中new一个实例并传入参数即可。如上所示,使用html-webpack-plugin插件。

相关文章

  • webpack入门解析

    webpack 一. 认识webpack 1.1. webpack介绍 什么是webpack? 这个webpack...

  • webpack详解

    webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...

  • webpack介绍

    webpack是一个优秀的静态模块打包工具,它可以递归地构建出依赖关系,将所有模块打包成一个或多个bundle。 ...

  • Webpack介绍

    什么是Webpack webpack是一个模块打包器。它根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规...

  • webpack介绍

    简介 什么是模块打包?粗俗一点来讲,模块打包就是把一小坨一小坨的代码粘成一大坨。实际操作起来的时候当然还需要关注一...

  • webpack介绍

    前端构建工具发展:Grunt,Gulp 和 Webpack Grunt:从0到1,没有解决模块依赖,面向文件操作效...

  • webpack介绍

    1.什么是webpack webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScri...

  • Webpack介绍

    What is webpack webpack是一个static module bundler(静态模块打包器)。...

  • webpack&gulp集成简介

    webpack简单介绍 webpack is a bundler for modules. The main pu...

  • [webpack 学习系列] 1. webpack 工具的由来

    webpack 工具的由来 什么是 webpack ?官网是这样介绍的,webpack is used to co...

网友评论

      本文标题:webpack介绍

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