美文网首页
webpack的几个概念

webpack的几个概念

作者: 小羊羊爱吃饭 | 来源:发表于2017-06-19 11:34 被阅读56次

现在的web前端越来越酷炫,每开发一个Web应用,需要依赖的js、css等资源越来越多,在html里需要写很多例如:
<script src=“aaa.js”></script>的标签,导致前端代码非常臃肿且不好维护,web pack解决了这个问题,它可以把所有依赖的
资源:js、css 、png、jpg等文件打包成一个大的bundle.js文件,虽然众多的js、css文件中可能存在着复杂的依赖关系,但是这些
都包含在bundle.js里,在html页面只需要引入这个一个文件就可以了。
下面介绍webpack的4个核心概念,在开始使用webpack之前,一定要了解这些。

Entry:
web pack把应用的依赖画成了一个依赖关系图,图的起点就是entry。webpack会根据这个图得知都需要依赖那些文件,并把他们打包,在配置文件中,用entry这个属性配置,栗子:

webpack.config.js
module.exports = {
  entry: './path/to/my/entry/file.js'
};

Output:
web pack把代码打成一个bundle文件之后,需要被告知把这个文件放在哪,栗子:

const path = require('path');
module.exports = {
  entry: './path/to/my/entry/file.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'my-first-webpack.bundle.js'
  }
};

Loaders:
web pack的目的是让浏览器不用关心所有的前端资源:js,css,html,jpg等,因为他们已经被打包成一个大的文件了,对于webpack来说,这些资源都是一个个的module, 但是webpack只认识js,那么其他类型的资源改咋办呢?在配置文件中定义这些:

const path = require('path');

const config = {
  entry: './path/to/my/entry/file.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'my-first-webpack.bundle.js'
  },
  module: {
    rules: [
      {test: /\.txt$/, use: 'raw-loader'}
    ]
  }
};

上面的配置文件中,module定义了一个rule数组,告诉webpack如何处理这些类型的文件,每个rule需要2个必需属性:test和use,这个rule的意思就是告诉webpack:当你遇到文件名以.txt结尾的文件时用raw-loader处理它。

Plugins
loaders只在每个文件的基础上进行转换,plugins操作的是打包好的complitaions或chunks, 对它们进行个性化定制,一个plugin的例子:
assets-webpack-plugin plugins可以通过options参数进行配置,在一个配置文件中可以多次使用同一个plugin,并且为他们设置不同的option,因此配置插件需要使用new为它们创建实例。栗子:

const HtmlWebpackPlugin = require('html-webpack-plugin'); //installed via npm
const webpack = require('webpack'); //to access built-in plugins
const path = require('path');

const config = {
  entry: './path/to/my/entry/file.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'my-first-webpack.bundle.js'
  },
  module: {
    rules: [
      {test: /\.txt$/, use: 'raw-loader'}
    ]
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin(),
    new HtmlWebpackPlugin({template: './src/index.html'})
  ]
};

module.exports = config;

webpack官方文档:webpack

相关文章

  • webpack的几个概念

    现在的web前端越来越酷炫,每开发一个Web应用,需要依赖的js、css等资源越来越多,在html里需要写很多例如...

  • webpack常用概念 ,浅说

    本文主要记录webpack几个常用的概念 入口(entry) 输出(output) loader 插件(plugi...

  • webpack工作原理

    基本概念 在了解 Webpack 原理前,需要掌握以下几个核心概念,以方便后面的理解: Entry:入口,Webp...

  • 【webpack】一步步的看webpack-3

    好啦,介绍完webpack到底是干什么的以后呢,我们需要进入正题了,这篇主要介绍webpack的几个重要的概念入口...

  • Webpack原理

    工作原理概括 基本概念 在了解Webpack原理前,需要掌握以下几个核心概念,以方便后面的理解: Entry:入口...

  • webpack原理

    工作原理概括 基本概念 在了解webpack原理前,需要掌握以下几个核心概念,以方便后面的理解: Entry 入...

  • webpack4

    webpack4笔记 快速了解几个基本的概念 mode 模式 通过选择 development, producti...

  • 2-2、学习准备

    一、安装webpack 二、查看webpack是否安装成功 三、webpack简介 概念 本质上,webpack ...

  • webpack初学概念

    webpack概念:webpack是现代 JavaScript 应用程序的静态模块打包器 核心概念 1.ent...

  • webpack学习笔记

    安装 webpack webpack-dev-server webpack-cli 命令行 重要概念 entry ...

网友评论

      本文标题:webpack的几个概念

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