webpack学习-1.起步

webpack学习-1.起步

  • 1.基础设置
  • 2.配置文件的引入
  • 3.总结

1.基础设置

首先 webpack是干嘛的呢,用官网的一张图
在这里插入图片描述
Webpack 是一个现代的静态模块打包工具。它主要用于将前端应用程序中的各种资源(例如 JavaScript、CSS、图片等)打包成一个或多个优化的静态文件,以便在浏览器中加载和运行。只要功能有:模块打包,代码转换,资源优化,代码分割,开发调试。
先学起步吧,也是跟着官方文档来的,也就总结一下吧。

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

mkdir webpack-demo
cd webpack-demo
npm init -y
npm install webpack webpack-cli --save-dev

现在创建以下目录结构、文件和内容:
project

webpack-demo
|- package.json
|- package-lock.json
|- index.html
|- /src
|- index.js

根据官网的 创建一个 bundle,这句话要记住

执行 npx webpack 会将脚本 src/index.js 作为 入口起点,也会生成 dist/main.js 作为 输出。Node 8.2/npm 5.2.0 及以上版本提供的 npx 命令,可以运行在最初安装的 webpack 包中的 webpack 二进制文件(即 ./node_modules/.bin/webpack)

这是在没有webpack的配置文件的情况下默认的,会 src/index.js 作为 入口起点,也会在生成 dist/main.js 作为 输出,刚好作为index.html的script的js引入。

2.配置文件的引入

webpack v4 无须任何配置即可运行,然而大多数项目会需要很复杂的设置,因此 webpack 仍然支持 配置文件,这比在终端中手动输入大量命令更加高效。

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

这样构建不方便,命令行有点多,可以在 package.json 文件中添加 npm script 以设置一个快捷方式:

 {
   "name": "webpack-demo",
   "version": "1.0.0",
   "description": "",
   "private": true,
   "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
   },
   "keywords": [],
   "author": "",
   "license": "ISC",
   "devDependencies": {
     "webpack": "^5.4.0",
     "webpack-cli": "^4.2.0"
   },
   "dependencies": {
     "lodash": "^4.17.20"
   }
 }

重点是scripts里的build配置,这样就可以用npm run build进行构建了

3.总结

通过起步学习,了解到webpack可以将一些import语法(例子中是这个,当然还有很多的语法)转换成浏览器认识的语法,进而使项目运行达到预想结果。简单的工作原理,配置文件,npm script。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Axure高保真原型】3D大屏可视化模板

今天和大家分享3D大屏可视化的原型模板,里面包括3D条形图、3D柱状图、3D饼图、3D环形图、3D金字塔图,鼠标移入图表,对应区域会高亮变色,并且显示对应的数据标签,具体效果可以点击下方视频观看或打开下方预览地址查看哦…

Windows server 2019 域环境部署

环境准备 准备3台服务器,配置都是8g2核,50g硬盘,操作系统版本Windows Server 2019 Datacenter 域服务器:adc,192.168.56.120服务器1:server1:,192.168.56.121服务器2:server2&…

InsCode实践分享

在当今信息爆炸的时代,如何从海量信息中脱颖而出,获取更多的关注和认可,成为了许多人的共同追求。作为知乎平台上的优质用户,我愿意分享一些自己的经验和技巧,帮助大家更好地运用InsCode,实现个人成长和进步…

9、web安全综述

文章目录 一、web核心组成二、web架构2.1 Web服务器2.2 Web容器2.3 Web服务端语言2.4 web开发框架2.6 软件系统 三、常见web安全漏洞3.1 信息泄露3.2 目录遍历3.3 跨站脚本攻击(XSS)3.4 SQL注入漏洞3.5 文件上传漏洞3.6 命令执行漏洞3.7 文件包含漏洞 一…

nginx的反向代理和负载均衡

nginx的反向代理和负载均衡: 代理:客户端通过一个指定的服务器,访问其他服务器,请求和响应都由指定服务器来为客户端进行处理,这个指定的服务器就是代理服务器 代理的方式: 四层代理:四层就是…

MacOS 14 系统 XCode15、 Flutter 开发 IOS

Flutter 系列文章目录 MacOS14 Sonoma 安装 Flutter 开发环境 MacOS 系统 Flutter开发Android 环境配置MacOS 系统 Flutter开发IOS 环境配置​​​​​​​ 前言 前面我们已经在MacOS14 M3芯片上安装好 Flutter环境,包括开发工具 VsCode 、Android Stuiod,那么fl…

封装时间轴组件 timeline

要求时间轴的点展示进度百分比&#xff0c;线也根据进度不同展示不同长度的颜色 实现效果&#xff1a; 使用的组件库是vant的circle 子组件&#xff1a; <template><div class"m-timeline-area" :style"width: ${width}px"><div class&qu…

0年费、0月费、免kyc,支持ChatGPTPlus充值虚拟卡

虚拟卡通常是指银行卡的虚拟卡&#xff0c;是在银行卡的基础上的银联、VISA、万事达卡BIN码衍生出的一种虚拟账户。虚拟卡一般都是用于网络上无卡支付&#xff0c;因此虚拟卡都不会配备相应的实体卡片。银行卡的虚拟卡&#xff0c;在分类上与实体卡并无什么区别&#xff0c;也分…

如何在uniapp中使用uviewUI-适合uniapp的ui组件

文章目录 1、如果使用的是npm方式2、如果是用Hbuilder X导入3、通用步骤4、使用5、可以适配微信小程序 前文说了uniapp能用哪些前端框架&#xff0c;今天来推荐uview。其最新版为2.0.36。最近一次更新日期&#xff1a;2023-03-27。 uView是uni-app生态专用的UI框架&#xff0c…

2023.12.4 GIT的概念和组成

目录 1.git的介绍 2.git的历史 开发者&#xff1a;Linus Torvalds Linux的创始人 3.git和svn的对比 svn:集中式管理 git:分布式管理 4.git管理的组成结构 1.git的介绍 git是项目版本管理工具,能自动的将多个版本进行管理存储,类似于快照,多个人共享版本 git的诞生:分布式…

Android 架构实战MVI进阶

MVI架构的原理和流程 MVI架构是一种基于响应式编程的架构模式&#xff0c;它将应用程序分为四个核心组件&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;、意图&#xff08;Intent&#xff09;和状态&#xff08;State&#xff09;。 原理&…

⭐ Unity + ARKIT 介绍 以及 平面检测的实现

在AR插件中&#xff0c;ARKIT是比较特殊的一个&#xff0c;首先他在很多追踪上的效果要比其他的AR插件要好&#xff0c;但是只能在IOS系统设备上运行。 1.首先ARKIT在最新版Unity已经集成在AR Foundation中&#xff0c;那我们就需要ARSession 和ARSessionOrigin这两个重要组件…

京东数据平台(京东商家数据):2023年10月京东饮料行业品牌店铺销量销额排行榜

鲸参谋监测的京东平台10月份饮料市场销售数据已出炉&#xff01; 10月份&#xff0c;饮料市场整体销售上涨。根据鲸参谋平台的数据显示&#xff0c;今年10月份&#xff0c;京东平台饮料市场的销量为670万&#xff0c;同比增长约2%&#xff1b;销售额为3.8亿&#xff0c;同比增长…

盛元广通智慧水务实验室管理系统

盛元广通智慧水务实验室管理系统通过分析基础业务系统流程&#xff0c;对业务系统流程从项目管理、水样管理、易耗品管理、仪器设备管理、异常报警、数据分析方面、旨在提高水质监测工作的效率、准确性和数据管理能力。通过自动化系统的建设解决了自动化操控问题&#xff0c;实…

揭秘MySQL索引世界:概念、分类、应用场景一网打尽

一、索引概念 MySQL索引是一种用于提高数据库查询性能的数据结构。它允许数据库系统更有效地检索数据行&#xff0c;减少了在大型数据集中搜索特定数据的时间。索引的作用类似于书籍的目录&#xff0c;通过提供关键字与实际数据位置之间的映射&#xff0c;加速对数据库表中数据…

idea利用SpringMVC框架整合ThymeLeaf

简洁一些&#xff1a;两个重要文件 1.controller指定html文件:我们访问http://localhost:8080/test package com.example.appledemo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import o…

ubuntu20.04使用LIO-SAM对热室空间进行重建

一、安装LIO-SAM 1.环境配置 默认已经安装过ros sudo apt-get install -y ros-Noetic-navigation sudo apt-get install -y ros-Noetic-robot-localization sudo apt-get install -y ros-Noetic-robot-state-publisher 安装 gtsam(如果是18.04的ubuntu直接按照官网配置&…

RabbitMQ 的七种消息传递形式

文章目录 一、RabbitMQ 架构简介二、准备工作 三、消息收发1. Hello World2. Work queues3. Publish/Subscrite3.1. Direct3.2. Fanout3.3. Topic3.4. Header 4. Routing5. Topics 大部分情况下&#xff0c;我们可能都是在 Spring Boot 或者 Spring Cloud 环境下使用 RabbitMQ&…

HTTPS 之fiddler抓包--jmeter请求

一、浅谈HTTPS 我们都知道HTTP并非是安全传输&#xff0c;在HTTPS基础上使用SSL协议进行加密构成的HTTPS协议是相对安全的。目前越来越多的企业选择使用HTTPS协议与用户进行通信&#xff0c;如百度、谷歌等。HTTPS在传输数据之前需要客户端&#xff08;浏览器&#xff09;与服务…

2023年,社媒营销的「心智王者」到底是谁?

“在未来社会&#xff0c;每个人都可能在15分钟内出名&#xff0c;并有机会出名15分钟。” ——安迪沃霍尔 2023年品牌营销&#xff0c;社交媒体是绝对主战场&#xff1a; 明星加持&#xff0c;玩转粉丝经济&#xff1b; “满天星”式种草&#xff0c;打造爆品&#xff1b; …