【NodeJs学习笔记】WebPack介绍

news2024/10/3 6:35:13

在这里插入图片描述

什么是WebPack

WebPack主要用于模块打包。

它做的事情是,分析项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。

官网地址:官网
在这里插入图片描述

webpack五个核心概念

Entry

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

Output

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

Loader

Loader 让webpack能够去处理那些非javascript文件,(比如将图片,css翻译成webpack可以看懂的文件)(webpack自身只能理解javascript)

Plugins

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

Mode

在这里插入图片描述

WebPack使用实战示例

首先创建一个目录,初始化 npm,然后 在本地安装 webpack,接着安装 webpack-cli(此工具用于在命令行中运行 webpack):

npm init -y
npm install webpack webpack-cli --save-dev

安装完成后:

在这里插入图片描述

现在添加脚本src/index.js:

import _ from 'lodash'

function component() {
  const element = document.createElement('div');

  // lodash(目前通过一个 script 引入)对于执行这一行是必需的
  element.innerHTML = _.join(['Hello', 'webpack'], ' ');

  return element;
}

document.body.appendChild(component());

因为 ·index.js· 中打包 ·lodash· 依赖,我们需要在本地安装 library:

npm install --save lodash

添加index.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>起步</title>
  </head>
  <body>
    < <script src="dist/main.js"></script>
  </body>
</html>

最后再添加一个配置文件webpack.config.js:

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
  },
};

现在的目录结构为:
在这里插入图片描述
最后执行打包命令:

$ npx webpack --config webpack.config.js

打包后生成main.js
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

如何使用 Git 操控Gitee远程库?如何进行 团队内协作 与 跨团队协作 ?这一篇就够了~

目录 前言 一、创建别名 二、推送本地库到远程库 三、拉取远程库代码到本地库 四、 克隆远程库到本地 五、团队内协作 六、跨团队协作 前言 如何通过Git操作Gitee/GitHub远程库&#xff1f;在Gitee/GitHub上如何进行 团队协作 与 跨团队协作&#xff0c;看完本篇&#x…

关于游戏介绍的HTML网页设计 HTML5期末考核大作业 HTML静态游戏网页作业 web前端开发技术 web课程设计 网页规划与设计

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

LeetCode 热题 C++ 98. 验证二叉搜索树 101. 对称二叉树

力扣98 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1&#xff1a…

记一次 .NET 某工控MES程序 崩溃分析

一&#xff1a;背景 1.讲故事 前几天有位朋友找到我&#xff0c;说他的程序出现了偶发性崩溃&#xff0c;已经抓到了dump文件&#xff0c;Windows事件日志显示的崩溃点在 clr.dll 中&#xff0c;让我帮忙看下是怎么回事&#xff0c;那到底怎么回事呢? 上 WinDbg 说话。 二&…

Linux文件权限概念

目录 前言 1、Linux 文件属性 1.1、档案类型权限 1.2、连结数 1.3、档案拥有者 1.4、档案所属群组 1.5、档案容量 1.6、档案最后被修改的时间 1.7、档名&#xff08;文件名&#xff09; 2、如何改变文件属性和权限 2.1、改变所属群组, chgrp 2.2、改变档案拥有者, c…

Codeforces Round #838 (Div. 2) E. Tree Sum(组合数学 prufer序列 枚举边算贡献)

题目 n(n<5e5)个点的树&#xff0c;边只能选-1或1&#xff0c; 若对于每个点i来说&#xff0c;i相连的所有边的乘积值为-1&#xff0c;则称这棵树是「good tree」 根据Cayley公式&#xff0c;有种树形&#xff0c; 对于每一种树形&#xff0c;每条边都有2种选择&#xff…

什么是飞书机器人?如何定时发送飞书机器人消息?

什么是飞书机器人&#xff1f; 机器人是飞书应用的一种能力类型。基于飞书的机器人能力&#xff0c;开发者能够以较低的开发成本&#xff08;只需在服务端开发&#xff09;&#xff0c;实现在飞书单聊或群组中的消息推送和简单互动&#xff0c;完成企业系统数据与飞书的互联互通…

42_CAN列表模式接收中断实验

目录 CAN结构体 CAN_InitTypeDef初始化结构体详解 发送及接收结构体: CanTxMsg及CanRxMsg详解 CAN_FilterlnitTypeDef筛选器结构体讲解 硬件连接图 实验源码 CAN结构体 从STM32的CAN外设我们了解到它的功能非常多,控制涉及的寄存器也非常丰富,而使用STM32标准库提供的各…

pandas数据分析总结

Pandas 是 Python 语言的一个扩展程序库&#xff0c;用于数据分析。其中DataFrame&#xff0c;Json&#xff0c;数据筛选的使用频次很高&#xff0c;值得重点将基本用法学习并总结。 版本信息&#xff1a;python 3.7 pandas 1.3.5 一、DataFrame DataFrame 是一个表格型的数…

【持续更新】计算机类PDF整理

计算机相关的书籍太多太多了&#xff0c;整理太多反而很乱&#xff0c;这边我根据自己的经验和理解选了一些典型的书籍&#xff0c;大部分是自己看过觉得很有用的&#xff0c;有些是听说很nice的&#xff0c;有些是经典的&#xff0c;大家可以自行下载。 持续更新中&#xff0…

Kaggle竞赛——Titanic泰坦尼克之灾(0.76315==>0.79186)

Kaggle竞赛网址&#xff1a;https://www.kaggle.com/c/titanic 上一章&#xff1a;Kaggle竞赛——Titanic泰坦尼克之灾&#xff08;保姆级基础版&#xff09; 本次Kaggle泰坦尼克之灾分析过程大致分为&#xff1a; 第1步&#xff1a;了解数据&#xff08;上一章&#xff09; …

19_SpringBoot拓展注解@SpringBootApplication和@Configuration

文章目录Spring Boot拓展注解SpringBootApplication和Configuration0x01_SpringBootApplicationSpringBootConfigurationEnableAutoConfigurationComponentScan0x02_ConfigurationFull 全模式&#xff0c;Lite 轻量级模式Spring Boot拓展注解SpringBootApplication和Configurat…

计算机网络原理 课后习题(作业)持续更新ing

【1-03 】试从多个方面比较电路交换、报文交换和分组交换的主要优缺点 &#xff08;1&#xff09;电路交换的主要特点: ①电路交换三个阶段&#xff1a;建立连接、通信、释放连接&#xff1b; ②在整个通信过程中&#xff0c;通信的双方自始至终占用着所使用的物理信道。 由…

多线程知识笔记(五)_单例模式

文章目录1、什么是单例模式2、饿汉模式3、懒汉模式1、什么是单例模式 单例模式是一种设计模式。 什么是设计模式呢&#xff1f;设计模式就是一种模板&#xff0c;就像做饭的时候&#xff0c;新手做饭什么调料都是一把放进锅里&#xff0c;有的菜就讲究调料的先后顺序&#xff…

Java web 2022跟学尚硅谷(十一) Vue基础和Axios基础和json基础

Java web 2022跟学尚硅谷十一后端基础 书城Vue在js中定义对象的2种方式方式一方式二简单的Vue代码绑定元素的属性方式一 v-bind:value方式二 :value双向数据绑定 v-model:方式一方式二 :value可以省略&#xff0c;trim去除首尾空格条件渲染 v-if条件渲染 v-else条件渲染 特别注…

[附源码]Python计算机毕业设计高校医务管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

极地土活性层和永久冻土的比较宏基因组学

北极地区有大约87%由低有机碳矿物土壤组成&#xff0c;但对低碳永久冻土&#xff08;PF&#xff09;和活性层&#xff08;AL&#xff09;土壤中微生物活性的了解仍然有限。多种物理和生物因素可能影响碳循环&#xff0c;包括土壤化学、氮等养分的可用性以及现有微生物群落的结构…

论文解析[9] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

发表时间&#xff1a;2021 论文地址&#xff1a;https://arxiv.org/abs/2103.14030 代码地址&#xff1a;https://github.com/microsoft/Swin-Transformer 文章目录摘要3 方法3.1 总体框架3.2 基于自注意力的移动窗口3.3 结构变形5 结论摘要 这篇论文提出了一个新的ViT叫作Swi…

大数据培训kettle安装部署

kettle安装部署和使用 2.1 kettle安装地址 官网地址 https://community.hitachivantara.com/docs/DOC-1009855 下载地址 https://sourceforge.net/projects/pentaho/files/Data%20Integration/ 2.2 Windows下安装使用 2.2.1 概述 在实际企业开发中&#xff0c;都是在本…

Html 小功能总结二

文章目录一、Html 实现弹窗的实例二、Html 实现流程图三、制作一个简单的菜单功能一、Html 实现弹窗的实例 <!DOCTYPE html> <html> <head><meta charset"utf-8" /><title></title><style type"text/css">body…