Conan_W's Blogs Conan_W's Blogs
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《React》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Conan_W

Web宝宝
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《React》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • Nodejs

  • 博客搭建

  • Webpack解析

    • webpack初识
    • webpack-loader
    • webpack的核心
      • webpack-plugins
      • webpack for vue的基本配置
      • webpack-babel
    • 技术
    • Webpack解析
    conan_W
    2021-05-14

    webpack的核心

    # 核心概念

    module.exports = {
        mode: 'development', //development环境 production环境
        // 入口文件 告诉的webpack 要打包的文件
        entry: './src/index.js',  // 入口文件
        // 输出文件:告诉webpack 打包后文件放在哪里
        output: {
            path: path.resolve(__dirname, 'dist'), // 打包文件后的具体路径
            filename: 'bundle.js',  // 打包后的文件名
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    # Entry

    入口起点(entry point)指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。

    进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。

    每个依赖项随即被处理,最后输出到称之为 bundles 的文件中。

    # Output

    output 属性告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist。

    基本上,整个应用程序结构,都会被编译到你指定的输出路径的文件夹中。

    path.resolve(__dirname, 'dist') 把一个路径或路径片段的序列解析为一个绝对路径。从右到左解析

    # Module

    模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。

    # Chunk

    代码块,一个 Chunk 由多个模块组合而成,用于代码合并与分割。

    # Loader

    loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。

    loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。

    本质上,webpack loader 将所有类型的文件,转换为应用程序的依赖图(和最终的 bundle)可以直接引用的模块。

    # Plugin

    loader 被用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。

    插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以用来处理各种各样的任务。

    编辑 (opens new window)
    webpack-loader
    webpack-plugins

    ← webpack-loader webpack-plugins→

    最近更新
    01
    vue-cli3的改变
    05-15
    02
    babel-polyfill
    05-15
    03
    babelrc文件配置
    05-15
    更多文章>
    Theme by Vdoing | Copyright © 2019-2026 Conan_W | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×