webpack之核心概念及安装与使用

webpack之核心概念及安装与使用

1. webpack 是什么

webpack 是一种前端资源构建工具, 一个静态模块打包器(module bundler)。
在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/…)都会作为模块处理。
它将根据模块的依赖关系进行静态分析, 打包生成对应的静态资源(bundle)。

2. webpack 五个核心概念

2.1 Entry

入口(Entry)指示 webpack 以哪个文件为入口起点开始打包, 分析构建内部依赖图。

2.2Output

输出(Output)指示 webpack 打包后的资源 bundles 输出到哪里去, 以及如何命名。

2.3 Loader

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

2.4 Plugins

插件(Plugins)可以用于执行范围更广的任务。 插件的范围包括, 从打包优化和压缩,
一直到重新定义环境中的变量等。

2.5 Mode

模式(Mode)指示 webpack 使用相应模式的配置。

选项 描述 特点
development 会将 DefinePlugin 中 process.env.NODE_ENV 的值设置 为 development。 启用 NamedChunksPlugin 和 NamedModulesPlugin。 能让代码本地调试 运行的环境
production 会将 DefinePlugin 中 process.env.NODE_ENV 的值设置 为 production。 启用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 TerserPlugin。 能让代码优化上线 运行的环境

3.初始化配置及初次体验

1. 初始化 package.json

命令

npm init

2. 下载并安装 webpack

npm install webpack webpack-cli -g
npm install webpack webpack-cli -D

3. 编译打包应用

  1. 创建文件

  2. 开发环境打包

    功能: webpack 能够编译打包 js 和 json 文件, 并且能将 es6 的模块化语法转换成
    浏览器能识别的语法

    webpack ./src/js/index.js -o ./build/js/built.js --mode=development
    #说明:-o:打包后文件输出位置; --mode:打包环境(development/production)
    
  3. 生产环境打包

    功能: 在开发配置功能上多一个功能, 压缩代码。

    webpack ./src/js/index.js -o ./build/js/built.js --mode=production
    ##说明:-o:打包后文件输出位置; --mode:打包环境(development/production)
    

4. 结论

webpack 能够编译打包 js 和 json 文件。
能将 es6 的模块化语法转换成浏览器能识别的语法。
能压缩代码。

5. 问题

不能编译打包 css、 img 等文件

不能将 js 的 es6 基本语法转化为 es5 以下语法。

相关推荐

  1. webpack核心概念安装使用

    2024-01-25 19:44:05       37 阅读
  2. webpack核心概念

    2024-01-25 19:44:05       19 阅读
  3. C#核心概述

    2024-01-25 19:44:05       12 阅读
  4. Webpack】基本使用概述

    2024-01-25 19:44:05       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-25 19:44:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-25 19:44:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-25 19:44:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-25 19:44:05       20 阅读

热门阅读

  1. LeetCode2865. Beautiful Towers I

    2024-01-25 19:44:05       35 阅读
  2. 什么是IDE?新手用哪个IDE比较好?

    2024-01-25 19:44:05       35 阅读
  3. P8597 [蓝桥杯 2013 省 B] 翻硬币

    2024-01-25 19:44:05       38 阅读
  4. 连接两个链表。

    2024-01-25 19:44:05       39 阅读