webpack基本认知,它是什么,做什么的

news2024/11/18 8:19:36

一、基本概述

webpack本质是, 一个第三方模块包, 用于分析, 并打包代码

  • 支持所有类型文件的打包
  • 支持less/sass => css
  • 支持ES6/7/8 => ES5
  • 压缩代码, 提高加载速度

二、安装

  • 创建一个文件并运行以下命令:
npm init -y
npm i webpack webpack-cli -S
  • 运行命令 npx webpack --mode=development 如果是生产模式需要将mode改成production。这样就能自动生成一个dist/main.js文件。引入这个文件浏览器就能够运行了。

三、配置文件

  • 新建webpack.config.js文件,并配置:
const path = require('path');

module.exports = {
  mode: 'production',
  // 指定入口文件
  entry: './src/index.js',
  // 输出配置
  output: {
    // 输出的文件名
    filename: 'app.js',
    // 输出文件的路径 这个路径要写绝对地址
    path: path.resolve(__dirname, 'dist'),
  },
};
  • 运行 npx webpack 它会自动去找webpack.config.js文件中的配置,根据配置来生成打包文件。
  • 配置脚本:在package.json文件中配置
"scripts": {
    "serve": "npx webpack"
  },
  • 以后运行只需要 yarn serve 或者npm run serve

四、webpack-dev-server插件

1.作用

开启一个web服务器,实现自动打包代码

2.使用

  • 安装 npm install webpack-dev-server -S
  • 修改package.json中的脚本"serve": "npx webpack serve"
  • webpack.config.js中将mode修改为development
mode: 'development'

五、html-webpack-plugin插件

1.作用

让webpack打包时, 自动生成html文件

2.使用

  • 下载: npm i --save-dev html-webpack-plugin
  • 配置脚本:在package.json文件中配置
const HtmlWebpackPlugin = require('html-webpack-plugin')

plugins: [
    new HtmlWebpackPlugin({
      // 指定模版页面
      template: 'template.html',
      // 根据模版页面生成的页面名字
      filename: 'index.html',
    })
  ]
  • 然后直接运行: npm run serve 进入开发阶段。
  • 如果项目要上线了,单独配置 "build": "npx webpack" 这时运行npm run build 会打包出index.html和app.js

官网:webpackhttps://webpack.js.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/437973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DNS域名解析服务

目录 一、DNS的简介 1)DNS 数据结构分布 2)服务器的类型 3)DNS 域名解析方式 4)DNS的查询方式 递归查询 迭代查询 二、DNS配置 1)两台主从服务器进行配置操作 ​编辑 2)DNS主域名服务器配置&am…

ITSS服务经理 、服务工程师线上开班在即

为了促进企业信息技术服务-运行维护服务能力,全面系统的提升员工的IT服务知识和技能水平,且更好的满足参训企业的时间需求,我司将于5月份开展ITSS服务经理、服务工程师线上班。 日期和形式 五月份:ITSS服务项目经理:…

Qlik Sense 集合表达式详解

文章目录 1 概述2 集合表达式 expression2.1 标识符 identifiers2.2 修饰符 modifiers2.2.1 多值用 ,隔开2.2.2 引号区分大小写2.2.3 搜索 2.3 运算符 operators 3 应用 1 概述 #mermaid-svg-bQWKUrD934SlJaj9 {font-family:"trebuchet ms",verdana,arial…

电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标…

CompletableFuture的基本使用和原理

CompletableFuture CompletableFuture是对Future的扩展和增强。CompletableFuture实现了Future接口,并在此基础上进行了丰富的扩展,完美弥补了Future的局限性,同时CompletableFuture实现了对任务编排的能力。借助这项能力,可以轻…

如何将matlab的m文件转换成python文件

因为matlab的内存实在太大了,所以我只在实验室电脑安装了matlab,自己电脑没有安装,现在跑实验需要把matlab文件转成python文件。在网上找到可以使用smop小工具。 我是在本地的anaconda转换的。先创建一个新环境到指定路径 conda create --pr…

HttpWebRequest类

HttpWebRequest类与HttpRequest类的区别。 HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息。而HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等。 HttpWebRequest这个类非常强大&#…

Spring MVC 接收 json 和返回 json (14)

目录 总入口 测试case 源码分析 1. 针对RequestBody的参数解析 2. 针对 ResponseBody 的返回值处理 总入口 通过上一篇Spring MVC 参数解析(13)_chen_yao_kerr的博客-CSDN博客的说明,相信大家对Sping MVC的参数解析有了一定的了解&…

2.微服务项目实战---环境搭建,实现电商中商品、订单、用户

使用的电商项目中的商品、订单、用户为案例进行讲解。 2.1 案例准备 2.1.1 技术选型 maven : 3.3.9 数据库: MySQL 5.7 持久层 : SpingData Jpa 其他 : SpringCloud Alibaba 技术栈 2.1.2 模块设计 springcloud-alibaba 父工程 shop-common …

【观察】构建“零信任”架构,筑起制造业安全“护城河”

中国是全球制造业大国,过去40年,中国制造业规模增长了18倍,其附加值达到2.2万亿美元,制造业在中国GDP比重高达40%,其之于中国经济的重要性可见一斑。 与此同时,中国制造业在高速发展的同时,也普…

使用全球融合CDN的10大优势

根据预估,今年的全球内容交付网络(CDN)市场预计将达到424亿美元。而由于移动应用程序的激增和人工智能尤其是ChatGPT等相关领域的快速发展将进一步带来CDN市场的快速增长,可以说全球CDN的黄金时代才刚开始。 融合CDN和多CDN战略是…

32道子网划分练习题详细解析含答案

目录 1 子网划分概念: 2 划分方法: 子网划分方法:段,块,数的计算三步。 段就是确定ip地址段中既有网络地址,又有主机地址的那一段是四段中的那一段? 块就确定上一步中确定的那一段中的主机…

企业云成本优化:减少企业云支出的终极指南

向云的转移使企业的技术领导者能够实现基础设施的现代化,并提高应用程序的可用性、可扩展性和性能。然而优化云成本对很多以互联网业务为主体的公司都是一项挑战,因为需要执行可持续的云成本管理战略。随着世界经济近年来走向低迷,尤其是互联…

【Linux网络服务】DNS域名解析服务服务

一、BIND域名服务基础 服务背景 1在日常生活中人们习惯使用域名访问服务器,但机器向互相只认IP地址,域名与IP地址之间是多对一的关系,一个IP址不一定只对应一个域名,且一个完成域名只可以对应一个IP地址,它们之间转换…

[ARM+Linux] 基于wiringPi库的串口通信

wiringOP-master/examples/serialTest.c中&#xff0c;wiringPi库中自带的串口程序&#xff1a; #include <stdio.h> #include <string.h> #include <errno.h>#include <wiringPi.h> #include <wiringSerial.h>int main () {int fd ;int count …

JavaSE-part1

文章目录 Day01 面向对象特性1.java继承注意点2.多态2.1多态概述2.2多态中成员的特点:star::star:2.3多态的转型:star::star: 3.Super4.方法重写:star::star:5.Object类:star::star: Day02 面向对象特性1.代码块:star:(主要是初始化变量&#xff0c;先于构造器)2.单例设计模式:…

服务器初始化

Linux基础系类 提示&#xff1a;个人学习总结&#xff0c;仅供参考。 一、Linux系统部署 二、服务器初始化 提示&#xff1a;文档陆续更新整理 服务器初始化 Linux基础系类简介一、配置IP地址二、配置YUM源&#xff08;yum本地源和yum网络源&#xff09;1.简介2.准备工作3.配置…

数据结构与算法——深度寻路算法

&#x1f4d6;作者介绍&#xff1a;22级树莓人&#xff08;计算机专业&#xff09;&#xff0c;热爱编程&#xff1c;目前在c&#xff0b;&#xff0b;阶段&#xff0c;因为最近参加新星计划算法赛道(白佬)&#xff0c;所以加快了脚步&#xff0c;果然急迫感会增加动力>——…

SQL Server的行级安全性

行级安全性 一、前言二、描述三、权限四、安全说明&#xff1a;侧信道攻击五、跨功能兼容性六、示例 一、前言 行级别安全性使您能够使用组成员身份或执行上下文来控制对数据库表中行的访问。 行级别安全性 &#xff08;RLS&#xff09; 简化了应用程序中的安全性设计和编码。…

MyBatis(一)

一、简介 1.1 什么是MyBatis MyBatis是一个持久层框架&#xff0c;既然和持久层有关那就可以简单理解成和数据库有关&#xff0c;既然是框架那么就肯定是为了简化数据库有关的操作。由于传统的JDBC代码处理数据库有关的代码太复杂&#xff0c;所以出现了MyBatis来快速处理数据…