41-Vue-webpack基础

news2024/11/18 6:37:17

webpack基础

      • 前言
      • 什么是webpack
      • webpack的基本使用
      • 指定webpack的entry和output


前言

  • 本篇开始来学习下webpack的使用

什么是webpack

  • webpack: 是前端项目工程化的具体解决方案。

  • 主要功能:它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览器端 JavaScript 的兼容性、性能优化等强大的功能。

  • 好处:让程序员把工作的重心放到具体功能的实现上,提高了前端开发效率和项目的可维护性

webpack的基本使用

  1. 新建项目空白目录(change_coloe),并运行 npm init –y 命令,初始化包管理配置文件 package.json
    在这里插入图片描述

  2. 新建 src 源代码目录

  3. 新建 src -> index.html 首页和 src -> index.js 脚本文件
    在这里插入图片描述

  4. 初始化首页基本的结构

说明:
1. 快捷生成html基本结构: ! + tab (英文输入法下)
2. 快速生成9个li 标签 :ul>li{这是第$个}*9

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>修改行颜色</title>
</head>
<body>
    <ul>
        <li>这是第1个</li>
        <li>这是第2个</li>
        <li>这是第3个</li>
        <li>这是第4个</li>
        <li>这是第5个</li>
        <li>这是第6个</li>
        <li>这是第7个</li>
        <li>这是第8个</li>
        <li>这是第9个</li>
    </ul>
</body>
</html>
  1. 运行 npm install jquery –S 命令,安装 jQuery

说明:

  1. -S 是 --save简写 ,作用明确包的位置在dependencies中,可省略

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

  1. 通过 ES6 模块化的方式导入 jQuery,实现列表隔行变色效果
// index.js文件中
// 1. ES6语法导入jquery

import $ from 'jquery'

// 2. 定义 jQuery 的入口函数
$(function () {
    // 3. 实现奇偶行变色
    // 奇数行为红色  偶数行粉色~
    $('li:odd').css('background-color', 'red')
    $('li:even').css('background-color', 'pink')
  })

  1. 在项目中安装 webpack

说明:

  1. -D 是 --save-dev 的简写,明确包位置在devDependencies中,
  2. dependencies 是开发和上线都会用到的包;devDependencies是开发阶段使用到的包
npm install webpack@5.42.1 webpack-cli@4.7.2 -D

在这里插入图片描述

  1. 在项目中配置webpack文件
    • 在项目根目录中,创建名为 webpack.config.js 的 webpack 配置文件,并初始化如下的基本配置
    module.exports = {
        
        // mode 代表 webpack 运行的模式,可选值有两个 development 和 production
        // 结论:开发时候一定要用 development,因为追求的是打包的速度,而不是体积;
        // 反过来,发布上线的时候一定能要用 production,因为上线追求的是体积小,而不是打包速度快!
        mode: 'development',
    }
    
    • 在 package.json 的 scripts 节点下,新增 dev 脚本如下
      "scripts": {
        "dev": "webpack" // 可以通过npm run 运行,如 npn run dev
      }
    
    • 在项目目录下执行 npm run dev 命令,启动 webpack 进行项目的打包构建
      在这里插入图片描述
  • 说明:webpack.config.js 作用:是 webpack 的配置文件。webpack 在真正开始打包构建之前,会先读取这个配置文件,
    从而基于给定的配置,对项目进行打包
  1. 在index.html中导入打包生成的main.js
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>修改行颜色</title>
    <script src="../dist/main.js"></script>
</head>
<body>
    <ul>
        <li>这是第1个</li>
        <li>这是第2个</li>
        <li>这是第3个</li>
        <li>这是第4个</li>
        <li>这是第5个</li>
        <li>这是第6个</li>
        <li>这是第7个</li>
        <li>这是第8个</li>
        <li>这是第9个</li>
    </ul>
</body>
</html>

效果如下图
在这里插入图片描述

指定webpack的entry和output

在 webpack 4.x 和 5.x 的版本中,有如下的默认约定:

  1. 默认的打包入口文件为 src -> index.js
  2. 默认的输出文件路径为 dist -> main.js
  • 在 webpack.config.js 配置文件中,通过 entry 节点指定打包的入口。通过 output 节点指定打包的出口
const path = require('path')

module.exports = {
    mode: 'development',
    // entry: '指定要处理哪个文件'    __dirname当前文件目录
    entry: path.join(__dirname, './src/index1.js'),
    // 指定生成的文件要存放到哪里
    output: {
        // 存放的目录
        path: path.join(__dirname, 'dist'),
        // 生成的文件名
        filename: 'bundle.js'
    }
}

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

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

相关文章

Unity:2D

目录 1. 简介 2. 2D Sorting 3. 9-slicing Sprites 3.1 9-slicing and Colliders 4. Sprite Renderer 5. Sprite Creator 6. Sprite Editor 6.1 Slice 6.1 Resize polygons 6.2 Custom Outline 6.3 Custom Physics Shape 6.4 Secondary Textures 6.5 Data Provider…

AI在融媒体领域的应用探讨

AI在融媒体领域的应用探讨 ChatGPT是人工智能的一种应用形式&#xff0c;它属于自然语言处理&#xff08;NLP&#xff0c;Nature Language Process&#xff09;领域。 2022年11月30日&#xff0c;由人工智能实验室OpenAI发布的对话式大型语言模型ChatGPT一夜爆火&#xff0c;…

BUUCTF-Misc12

[BJDCTF2020]纳尼1 1.打开附件 一张打不开的图片和一个没什么用的文本文档 2.010 Editor 用010 Editor 打开6.gif这个文件 发现文件头缺少 .gif 的文件头是47 49 46 38 添加文件头并保存 得到一个动图&#xff0c;由四张图片组成 得到一串看似像base64的编码&#xff1a;Q…

解析SpringBoot自动装配原理前置知识:解析条件注释的原理

什么是自动装配&#xff1f; Spring提供了向Bean中自动注入依赖的这个功能&#xff0c;这个过程就是自动装配。 SpringBoot的自动装配原理基于大量的条件注解ConditionalOnXXX&#xff0c;因此要先来了解一下条件注解相关的源码。 以ConditionalOnClass为例 首先来查看Conditi…

本地运行环境工具UPUPWANK(win)和Navicat数据库管理工具

UPUPWANK安装地址&#xff1a;https://www.upupw.net 1.进入UPUPWANK后点击一键开启 2.新增项目 这里请千万注意80端口&#xff0c;如果80端口被占用了&#xff0c;请记住去任务管理器关闭占用80端口的进程。不然就不会成功显示。&#xff08;笔者含泪警告&#xff0c;一晚上的…

Python Qt Designer 初探

代码下载在最下面 #开发环境安装# 本示例在Windows11下, 使用VSCode开发, Python 3.12.2, Qt Designer 5.11 VSCode插件Python、Python Debugger、PYQT Integration、Pylance (准备) VSCode自行官网下载 Visual Studio Code - Code Editing. Redefined (准备) Python 直接…

Linux进程的管理和进程的状态

进程的基本概念&#xff1a; 程序的一个执行实例 &#xff0c;正在执行的程序等等 ——— 课本概念 担当分配系统资源的实体&#xff0c;例如cpu时间&#xff0c;内存 -----内核的观点 一、进程的管理 processbar 存储在磁盘中的可执行文件 可执行文件在启动/运行的同时&…

Photoshop 工具使用详解(全集 · 2024版)

全面介绍 Photoshop 工具箱里的工具&#xff0c;点击下列表格中工具名称或图示&#xff0c;即可查阅工具的使用详解。 移动工具Move Tool移动选区、图层和参考线。画板工具Artboard Tool创建、移动多个画布或调整其大小。moVe快捷键&#xff1a;V 矩形选框工具 Rectangular Mar…

mac硬盘拷贝到另外硬盘 苹果电脑怎么拷贝到移动硬盘

在当今的信息时代&#xff0c;数据的存储和传输是我们日常生活和工作中不可或缺的一部分。我们经常需要使用各种硬盘来保存和备份我们的数据&#xff0c;比如内置硬盘、移动硬盘、U盘等。但是&#xff0c;不同的硬盘可能使用不同的文件系统&#xff0c;这给我们的数据拷贝带来了…

C++11:左值与右值|移动构造|移动赋值

​ &#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;マイノリティ脈絡—ずっと真夜中でいいのに。 0:24━━━━━━️&#x1f49f;──────── 4:02 &#x1f504; …

每日一题 第三十期 洛谷 [USACO1.5] [IOI1994]数字三角形 Number Triangles

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中&#xff0c;从 7 → 3 → 8 →…

深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! Doris是一款高性能、开源的实时分析数据仓库&#xff0c;旨在为用户提供毫秒级查询响应、高并发、高可用以及易于扩展的OLAP解决方…

基于“云”重构“百度云盘”

这一篇文章是和上一篇连着的哟&#xff01; # docker run -p 80:80 -d -v /data/owncloud/:/var/www/html owncloud 一、【安装完成】 二、【打开浏览器】 三、【回到这个熟悉的界面&#xff0c;掉。】 四、【上传文件】 试了可以看哇偶&#xff01;&#xff01;&#xff01…

生产计划数据模型,实现能源企业数字化高效管理

随着市场经济的快速发展&#xff0c;能源企业在经济发展中的地位也随之提高。但由于能源企业在生产计划经济管理上存在指标不平衡、市场观念落后和环保意识欠缺等问题&#xff0c;导致企业的经济效益降低。目前&#xff0c;提高企业的生产计划管理是改善能源企业现状最有利的途…

SQLiteC/C++接口详细介绍sqlite3_stmt类(六)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;五&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;七&#xff09; 17. sqlite3_clear_bindings函数 sqlite3_clear_bindings函…

JavaEE--小Demo--数据库建立

目录 实验准备 本次所要新建的文件 实验步骤 step1-demo.sql 1.在resources文件夹下新建demo.sql文件 2.打开此目录&#xff0c;并运行命令提示符 3.打开数据库mysql -uroot -p 4.创建数据库create database demo; 5.使用数据库use demo; 6.导入数据source demo.sql;…

【OpenGL手册-21】高级GLSL编程

一、说明 这章不会向你展示什么新的功能&#xff0c;也不会对你的场景的视觉效果有较大提升。但是&#xff0c;本文能够提供最深刻的GLSL表达&#xff0c;也深入探讨了一些GLSL有趣的知识&#xff0c;它们可能在将来能帮助你。基本来说有些不可不知的内容和功能在你去使用GLSL创…

MySQL面试题--开发(最全,涵盖SQL基础、架构、事务)

MySQL面试题--事务https://mp.csdn.net/mp_blog/creation/editor/136947072 MySQL面试题--MySQL内部技术架构https://blog.csdn.net/Timebro/article/details/136946046?spm1001.2014.3001.5501 MySQL面试题--最全面-索引https://blog.csdn.net/Timebro/article/details/136…

Git Commit 提交规范,变更日志、版本发布自动化和 Emoji 提交标准

前言 Git Commit 是开发的日常操作, 一个优秀的 Commit Message 不仅有助于他人 Review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是实际工作中却常常被大家忽略&#xff0c;希望通过本文&#xff0c;能够帮助大家规范 Git Commit&#xff0c;并且展示相关 …

波奇学Linux:网络套接字

domain:ipv4 还是ipv6 type:面向字节流还是... 虚拟机 云服务器禁止直接bind公网ip 服务器可以有多个ip&#xff0c;如果只绑定一个ip&#xff0c;只能收到来自一个ip的信息 任意地址绑定 关于port的问题 [0,1024]&#xff1a;系统内定的端口号&#xff0c;一般要用固定的应…