IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Webpack的基本使用 -> 正文阅读

[JavaScript知识库]Webpack的基本使用

Webpack的基本使用

📘一、什么是Webpack

在这里插入图片描述

Webpack是一个静态的模块打包工具,当webpack处理应用程序时,会将所有这些模块打包成一个或多个文件
webpack提供了友好的模块化支持以及代码压缩混淆、处理JS兼容问题、性能优化等强大的功能,提高开发效率和项目的可维护性

静态:开发的过程中,存在于本地的js/css/图片图标字体文件等,就是静态的
动态的内容,webpack没办法处理只能处理静态的

📘二、Webpack安装

首先初始化项目

npm init -y

全局安装webpack

npm install -g webpack webpack-cli

查看版本

webpack -v

📘 三、配置文件:webpack.config.js

在webpack.config.js配置文件中,初始化如下的配置:

  • development模式不会进行代码的压缩与混淆,在开发期间都用development模式,可以提高编译的速度。
  • production模式会减少打包文件的体积,上线阶段使用production模式

在这里插入图片描述

📘 四、在package.json配置文件中的scripts节点下,新增dev脚本如下:

在这里插入图片描述

📘 五、在终端中运行npm run dev命令,启动 webpack进行项目的打包,打包后会出现dist文件。

📘 六、Webpack 的四个基本的概念

( 一)、 入口(entry)

入口起点(entry point) 指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。

   //单入口文件写法
    // entry: './Webpack/src/index.js',
    //多入口文件写法
    entry: {
        main: './webpack/src/index.js',
        search: './webpack/src/search.js'
    },

(二)、输出(output)

output 属性告诉 webpack 在哪里输出它所创建的 bundle,以及如何命名这些文件。主要输出文件的默认值是 ./dist/main.js,其他生成文件默认放置在 ./dist 文件夹中。

 //__dirname目录名  
    output: {
        path: path.resolve(__dirname, 'dist'),
        // filename: 'bundle.js',
        //多个出口
        filename: '[name].js'
    },
const path = require('path');

module.exports = {
    mode: 'development',
    //单入口文件
    // entry: './Webpack/src/index.js',
    //多入口文件
    entry: {
        main: './webpack/src/index.js',
        search: './webpack/src/search.js'
    },
    //__dirname目录名  
    output: {
        path: path.resolve(__dirname, 'dist'),
        // filename: 'bundle.js',
        //多个出口
        filename: '[name].js'
    },
};

(三)、loader

webpack 只能理解 JavaScript 和 JSON 文件,这是 webpack 开箱可用的自带能力。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效 模块,以供应用程序使用,以及被添加到依赖图中。简单来说。

在更高层面,在 webpack 的配置中,loader 有两个属性:

  • test 属性,识别出哪些文件会被转换。
  • use 属性,定义出在进行转换时,应该使用哪个 loader。

安装babel-loader步骤

执行以下命令

npm install --save-dev babel-loader@8.1.0 @babel/core@7.11.0 @babel/preset-env@7.11.0

配置Babel

创建一个.babelrc 文件夹,配置

在这里插入图片描述

在webpack.config.js中的module对象的rules属性添加一项代码:

 module: {
        rules: [{
            test: /\.js$/,
            exclude: /node_modules/,
            loader: 'babel-loader'
        }]
    }

在这里插入图片描述

安装core-js

npm install --save-dev core-js@3.6.5

引入core-js

import 'core-js/stable';

打包并测试

npm run dev

(四)、插件(plugin)

loader 用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量。
想要使用一个插件,你只需要 require() 它,然后把它添加到 plugins 数组中。多数插件可以通过选项(option)自定义。
首先我们安装插件,执行以下命令

npm install --save-dev  html-webpack-plugin@4.3.0

引入插件

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

配置插件
在这里插入图片描述

多页面配置html-webpack-plugin插件

在这里插入图片描述
在这里插入图片描述

📗七、处理CSS文件

安装css-loader执行以下命令

npm install --save-dev css-loader@4.1.1

📗方法一:通过style的方式引入

安装 style-loader,执行以下命令

npm install --save-dev style-loader@1.2.1

在webpack.config.js文件中配置
在这里插入图片描述

📗方法二:通过link的形式引入

安装,执行以下命令

 npm install --save-dev mini-css-extract-plugin@0.9.0

在webpack.config.js文件中配置

在这里插入图片描述

📗 八、使用file-loader处理CSS文件中的图片

首先我们要知道:如果图片是外部资源,是不需要考虑webpack的,只有本地的图片才被webpack处理
安装file-loader,执行以下命令:

npm install --save-dev file-loader@6.0.0

file-loader的作用:把图片从原来的地方粘贴复制到输出的目录中,然后更改源码的路径

基本配置如下:
在这里插入图片描述
在这里插入图片描述

📗 九、使用file-withimg-loader处理CSS文件中的图片

安装file-withimg-loader,执行以下命令

npm install --save-dev html-withimg-loader@0.1.16

配置
在这里插入图片描述

📗 十、使用file-loader 处理JS中的图片

配置与CSS文件处理图片一样
JS引入图片
在这里插入图片描述

📗 十一、使用url-loader处理图片

安装url-loader,执行以下命令

npm install --save-dev url-loader@4.1.0

配置图片的限制大小,输出的格式为base64编码
在这里插入图片描述
在这里插入图片描述

📗 十二、使用webpack搭建开发环境

执行以下命令

npm install --save-dev webpack-dev-server@3.11.0

在webpack.config.js中进行以下配置

 "dev": "webpack-dev-server --open chrome",

在这里插入图片描述

运行:npm run dev
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:23:03  更:2021-10-23 12:23:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:41:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码