首页 > 其他分享 >webpack基础

webpack基础

时间:2022-11-22 23:11:58浏览次数:73  
标签:npm 插件 plugin 基础 loader webpack html

webpack

webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一个用于现代[ JavaScript ](https://baike.baidu.com/item/ JavaScript /321142?fromModule=lemma_inlink)应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个 bundle

  • webpack是一个前端打包工具

  • 用它来处理现代前端错综复杂的依赖关系(A插件需要B插件B插件有D插件 F插件需要A插件)生成浏览器可以识别静态资源

  • Vue 前期脚手架就是用webpack制作
    (Vue 开始推荐vite构建工具(更快))
    react脚手架
    angular等现代框架脚手架都是依赖webpack

创建

  • 创建项目
  • npm init 初始化项目
  • npm i webpack webpack-cli -D
  • npx webpack 打包

webpack核心概念

入口entry

 entry: "./src/index.js",

出口output

output: {
    filename: "main.js",
    path: __dirname + "/dist",
  },

模式mode

mode: "production",产品模式
development开发模式

加载器loader

  • npm i file-loader url-loader -D
  • npm i css-loader style-loader -D
module: {
  rules: [
   { test: /\.css$/, use: ["style-loader", "css-loader"] }, {
        test: /\.(png|jpg|jpeg|webp|ico|gif|bmp)$/,
        use: [
          {
            loader: "url-loader",
            options: { limit: 5000, name: "images/[hash].[ext]" },
          },
        ],
      },

插件plugin

  • 安装npm i html-webpack-plugin -D
  • 作用:生成html模板文件,自动把打包好的js插入到模板文件
  • 安装npm i clean-webpack-plugin -D
  • 作用:打包前删除dist目录
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");

plugins: [
    new HtmlWebpackPlugin({ template: "./public/index.html" }),
    new CleanWebpackPlugin(),
  ],

devServe

  • 安装 npm i webpack-dev-serve -D

  • 作用:开启一个本地服务器

  devServer: {
    port: 8080,
    hot: true,
    host: "localhost",
    open: true,
    proxy: {},
  },

修改package.json

 "scripts": {
    "build": "webpack",
    "serve": "webpack serve",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

标签:npm,插件,plugin,基础,loader,webpack,html
From: https://www.cnblogs.com/aureazjl/p/16916840.html

相关文章

  • socket通信基础知识
     socket的概念    socket用于网络中一台计算机中的程序与其他计算机的程序之间需要交换数据。    socket也称作“套接字”,用于描述IP地址和端口,是一个通信链......
  • MySQL基础知识
    今日内容概要数据操作的发展过程数据库相关知识数据库的分类MySQL的下载及使用SQL与NoSQLSQL的基本语句今日内容详细数据操作的发展过程最初是通过文档存储,文档......
  • javaSE基础-数组
    数组数组的简述1、数组:是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行同一管理2、数组的相关概念:数组名元素角标、下标、......
  • Python基础之数据库:1、数据库发展史及常用数据库的介绍
    Python基础之数据库目录Python基础之数据库一、储存数据演变史1、文本文件2、软件开发目录规范3、数据库二、数据库软件应用史三、数据库的本质四、数据库的分类1、关系......
  • 【JAVA笔记】jJAVA入门基础02
     一.符号及类型1.1添加注释comment注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行......
  • Java基础题
    Java基础题1.Java面向对象有哪些特征继承、封装、多态三大特征相互相乘封装:封装内部的一些实现机制,就跟方法封装一些实现的机制一样继承:就是从已有的类派生出新的类,新......
  • Java基础
    java基础一.java注释1.单行注释:////这是单行注释2.多行注释:/*注释内容*//*这是多行注释这是多行注释*/3.文档注释(JavaDoc):/**注释内容*//***@......
  • 关于Spring注解的基础详解(补充上次并不清楚的内容)
    注解,需要在.xml文件里面加这么一句话:<context:component-scanbase-package=""/>(组件)Component注解主要用于接口的实现类里面,代替掉.xml文件里面的这句话:(主要作用:代替......
  • 大前端html基础学习
    根目录相对路径:针对图片数量比较多的情况,新建一个文件夹,将所有图片放进去,imgs/cat.webp(1)/:下一级(2)a/b/c/cat.webp返回路径(向外找):从下一级html中找上级或上上级的图片,走......
  • Git基础使用
    1、Git工作流程workspace:工作区,平时开发改动代码的地方,这个地方的代码是最新的Index:暂存区,通过gitadd.命令会将代码存放到暂存区Repository:本地仓库,通过gitcomm......