2-5 浅析webpack打包内容

1. 简介

本节主要分析运行打包命令以后的输出内容。

2.打包内容分析

package.json如下 :

const path = require('path');

module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'build')
    }
};

运行打包命令,输出如下内容:


image.png

Hash:本次打包的一个标识。
Version:使用的webpack版本
Time:本次打包耗时
Built at: 生成时间

Asset列:指构建后输出的资源文件,名称由filename的配置决定,如可能是[name].[hash].js这样子
Size列:指构建后输出的资源文件的大小
Chunks列:列出所有的chunk id
emitted: 表示该文件
Chunk Names: 指这个构建块的名称,即各个chunk块输出期间chunk块名称,比如entry配置项里定义的入口名称、CommonsChunkPlugin里定义的名称等等。

Entrypoint:打包入口文件。
[0]: chunk id 为0的chunk入口文件及其依赖的模块信息。

Warning: 提示。此处提示我们mode未设置,就会自动选择production。而mode其实其实可以理解为一系列配置集合组成的某种模式。如下:


image.png

ps:
之所以chunkname是main,其实是在entry指定的,是如下配置的简写:

const path = require('path');

module.exports = {
    entry: {
        main : './src/index.js'
    },
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'build')
    },
    stats:'detailed'
};

我们也可以输出更详细的内容,如下,添加stats: detailed配置:

const path = require('path');

module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'build')
    },
    stats:'detailed'
};

运行命令后如图:


image.png

可以明确看到每个chunk的入口和输出信息,以及每个模块的导出信息。

参考

webpack打包时终端参数各代表什么意思?
webpack的chunks和bundle是什么意思?
webpack4.0各个击破(4)—— Javascript & splitChunk
webpack 的开发者模式 显示asset 详细信息
理解webpack4.splitChunks

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert阅读 6,501评论 2 71
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,710评论 7 110
  • 前言: 我最近需要整理一下 webpack 这个前端构建工具的相关知识,希望对前端工程化的和模块化有更多的理解,我...
    Joah_l阅读 6,371评论 0 9
  • webpack4中的新特性 webpack3官方发布的时候,提到了下个版本可能的改动点,翻译过来如下所示: 高性能...
    little_short阅读 1,323评论 0 2
  • 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过...
    阳阳阳一堆阳阅读 3,336评论 0 5