前端小白的学习之路(webpack)

提示:webpack简介,nvm,npm配置环境,常用命令,基本web项目构建

目录

webpack

1.配置环境

 1)node.js

node常用命令

2)nvm

nvm常用命令:

3)npm

npm常用命令

2.构建简易web项目

1)创建目录

2)安装webpack依赖

 3)配置 webpack.config.js

4)配置入口文档index.js

5)打包项目

6)打包完毕 


webpack

简介:Webpack是一个现代JavaScript应用程序的模块打包工具。它主要用于将项目中的各个模块(包括JavaScript、样式、图像等)打包成一个或多个静态资源文件,以便在浏览器中加载。使用Webpack可以极大地简化前端项目的构建和部署流程,提高开发效率和应用程序的性能。它已经成为现代前端开发中不可或缺的工具之一。

1.配置环境

webpack 只识别javascript. 所以需要安装nodejs环境。

 1)node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于构建快速、可伸缩的网络应用程序。它使得开发人员能够使用 JavaScript 编写服务器端代码,而不仅仅局限于浏览器端.

因为nodejs发布了许多版本,在不同的技术栈下,需要使用不同的nodejs。

所以需要在电脑上安装nvm软件管理nodejs版本。

node常用命令

node <文件名>: 运行指定的 JavaScript 文件。

node index.js

node --versionnode -v: 显示安装的 Node.js 版本。

node -v

node --helpnode -h: 显示 Node.js 的帮助信息,列出可用的命令选项。

node -h

2)nvm

NVM(Node Version Manager)是一个用于管理多个 Node.js 版本的工具。它允许您在同一台计算机上安装和切换不同版本的 Node.js,并为每个项目选择特定的 Node.js 版本。

下载链接:https://github.com/coreybutler/nvm-windows/releases

win + r 打开控制台:nvm --version

显示版本号即表示安装成功

nvm常用命令:

查看可在线安装的NodeJS版本

nvm list available

安装指定版本的 Node.js

nvm install <version>

切换到指定版本的 Node.js

nvm use <version>

列出已安装的所有 Node.js 版本

nvm ls 或 nvm list

显示当前正在使用的 Node.js 版本

nvm current

为指定的版本创建别名

nvm alias <name> <version>

删除指定版本的别名

nvm unalias <name>

卸载指定的 Node.js 版本

nvm uninstall <version>

重新安装指定版本的 Node.js,并将全局包重新安装到新版本中

nvm reinstall-packages <version>

在指定版本的 Node.js 环境下执行特定命令

nvm exec <version> <command>

显示 NVM 的版本信息

nvm --version

打开nvm自动切换

nvm on

关闭nvm自动切换

nvm off

3)npm

npm(Node Package Manager)是 Node.js 的包管理器,用于安装、管理和共享 JavaScript 包。

js依赖包:https://www.npmjs.com/

npm常用命令

npm install <package>: 安装指定的包

npm install webpack
npm i webpack//npm i也表示安装的意思

npm install --save <package>: 安装包并将其保存到项目的 package.json 文件中的 dependencies 部分。这样做可以确保其他开发人员在克隆项目后可以轻松地安装相同的依赖项。(--save放包名前后都可)

npm i webpack --save

npm install --save-dev <package>: 安装包并将其保存到项目的 package.json 文件中的 devDependencies 部分。这样做可以确保只在开发时需要的依赖项被安装。

npm i webpack --save-dev

npm uninstall <package>: 卸载指定的包。

npm uninstall bootstrap

npm update: 更新项目的依赖项。运行此命令时,npm会检查项目中已安装的依赖项,并尝试将它们更新到最新版本。

npm update

npm outdated: 检查哪些依赖项已经过时。运行此命令时,npm会列出已安装的依赖项,并显示它们的最新版本。

npm outdate

npm init: 初始化一个新的 npm 项目。运行此命令时,npm会询问您一些关于项目的信息(项目名称、版本、描述、入口文件、作者),并生成一个 package.json 文件。

npm init
npm i

 npm publish: 将您的包发布到 npm 注册表中。您必须先登录到您的 npm 帐户,然后才能运行此命令。

npm publish

npm start: 运行在 package.json 文件中 scripts 部分定义的 "start" 脚本,通常用于启动应用程序的入口点。

npm start

npm run <script>: 运行 package.json 文件中scripts 部分定义的自定义脚本。您可以使用此命令运行任何在 scripts 部分中定义的命令

npm run serve

2.构建简易web项目

1)创建目录

 

package.json: 这是 Node.js 项目的配置文件,其中包含了项目的名称、版本、依赖项等信息。可以使用 npm init 命令来初始化一个新的 package.json 文件。 

{"name": "web03","version": "1.1.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","bulid": "npx webpack --config webpack.config.js",},"keywords": [],"author": "","license": "ISC","devDependencies": {"clean-webpack-plugin": "^4.0.0","css-loader": "^6.10.0","css-minimizer-webpack-plugin": "^6.0.0","file-loader": "^6.2.0","html-webpack-plugin": "^5.6.0","less": "^4.2.0","less-loader": "^12.2.0","mini-css-extract-plugin": "^2.8.1","sass": "^1.72.0","sass-loader": "^14.1.1","style-loader": "^3.3.4","terser-webpack-plugin": "^5.3.10","url-loader": "^4.1.1","webpack": "^5.91.0","webpack-clean-plugin": "^0.2.3","webpack-cli": "^5.1.4","webpack-dev-server": "^5.0.4"},"dependencies": {"bootstrap": "^4.6.2","jquery": "^3.7.1"}
}

webpack.config.js :是 webpack 的配置文件

它包含以下参数:

entry: 这是指定 webpack 构建入口的配置选项,可以是单个入口文件路径或者一个对象,用于指定多个入口文件。

output: 这是指定 webpack 输出的配置选项,用于指定输出文件的名称、路径等信息。

module: 这是指定 webpack 如何处理不同类型模块的配置选项,包括了定义加载器(loaders)和转换器(transformers)。

resolve: 这是指定 webpack 如何解析模块请求的配置选项,包括了模块路径、别名、扩展名等。

plugins: 这是指定 webpack 使用的插件的配置选项,用于执行各种构建任务,如压缩、优化、代码分割等。

mode: 这是指定 webpack 的构建模式的配置选项,可以是 "development"、"production" 或 "none" 中的一个,用于指定构建时的优化等级。

devtool: 这是指定 webpack 如何生成 source map 的配置选项,用于帮助调试代码。

optimization: 这是指定 webpack 优化行为的配置选项,可以用于定义优化策略、代码拆分、缓存等。

 src 目录: 这是项目的源代码目录,通常包含了所有的 JavaScript、CSS、图像等源文件,这里还创建了一个index.js作为入口文档。

2)安装webpack依赖

 3)配置 webpack.config.js

// 导入path模块
const path = require('path');// 配置
const option = {// 入口文件entry: {index: "./src/index.js"},// 打包模式// development: 开发环境// production: 生产环境mode: "production",// 输出目录output: {path: path.resolve(__dirname, 'dist'),filename: 'boundle-[hash].js',},
}// 配置选项(暴露)
module.exports = option;

4)配置入口文档index.js

通过import引入所需的css,js或第三方库

// 入口文件
// 引入所需css文件
import "./css/index.css";// 引入所需js文件
import "./less/main.js";// 引入第三方库(如jQuery)
import $ from 'jquery';

5)打包项目

通过调用在package.js中预设好的命令来打包项目

npm run build

6)打包完毕 

直接在dist中运行.html文件即可

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。

设计一个动物声音“模拟器”&#xff0c;希望模拟器可以模拟许多动物的叫声。要求如下&#xff1a; &#xff08;1&#xff09;编写接口Animal Animal接口有2个抽象方法cry()和getAnimaName()&#xff0c;即要求实现该接口的各种具体动物类给出自己的叫声和种类名称。 &…

初始Java篇(JavaSE基础语法)(5)(类和对象(上))

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 面向对象的初步认知 面向对象与面向过程的区别 类的定义和使用 类的定义格式 类的实例化 this引用 什么是this引用&#xff1f; this引用…

编译 amd gpu 核心态驱动 rocm kmd linux kernel

AMD 开源了专门的 ROCm 的kmd Linux Kernel&#xff0c; 1,下载源代码 git clone --recursive https://github.com/ROCm/ROCK-Kernel-Driver.gitcd ROCK-Kernel-Driver/git checkout rocm-6.0.22,配置kernel cp -v /boot/config-$(uname -r) .config make menuconfig Graph…

财务管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文&#xff08;设计&#xff09;学生选题参考合集推荐收藏&#xff08;包含Springboot、jsp、ssmvue等技术项目合集&#xff09; 目录 1. …

PowerShell哈希表

文章目录 哈希表有序字典迭代 PowerShell系列&#xff1a;初步&#x1f4b0;编程基础&#x1f4b0;数组 PowerShell是一种任务自动化和配置管理框架&#xff0c;最初由Microsoft开发。它提供了一种命令行环境和脚本语言&#xff0c;用于快速而灵活地自动化一系列的操作和任务。…

云计算探索-如何在服务器上配置RAID(附模拟器)

一&#xff0c;引言 RAID&#xff08;Redundant Array of Independent Disks&#xff09;是一种将多个物理硬盘组合成一个逻辑单元的技术&#xff0c;旨在提升数据存取速度、增大存储容量以及提高数据可靠性。在服务器环境中配置RAID尤其重要&#xff0c;它不仅能够应对高并发访…

空格隔开的多个数据,可以用多个scanf()读取,也可以用一个scanf()读取

概要&#xff1a; 如果输入数据有多个&#xff0c;且用空格隔开 读取的时候&#xff0c;可以用多个scanf()读取 也可以用一个scanf()读取&#xff0c;在这个scanf()内部使用空格即可 一、用多个scanf()读取 1、代码 #include<stdio.h> int main() {int line[3];int…

华为OD机试 - 绘图机器 - 双指针(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

关系型数据库mysql(10)MHA的高可用

一. MHA 的相关知识 1. 什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障…

Verilog基础【一】

文章目录 1.1 第一个verilog设计1.2 Verilog 简介1.3 Verilog环境搭建1.4 Verilog 设计方法设计方法设计流程 2.1 Verilog 基础语法格式注释标识符与关键字 2.2 Verilog 数值表示数值种类整数数值表示方法实数表示方法十进制&#xff1a;科学计数法&#xff1a; 字符串表示方法…

python+vue访客预约登记系统-数据可视化echart大屏

为了系统的完整&#xff0c;必须要有可行性分析的&#xff0c;系统的可行性关系到生存问题&#xff0c;分析其意义可否利用本系统来弥补线下管理模式中的不足之处等&#xff0c;通过本系统来减少工作量&#xff0c;使管理者与用户的工作和管理效率更高。对此体现出更多的意义和…

MySQL数据库(JDBC)

文章目录 1.JDBC基本介绍1.概述2.JDBC原理图 2.JDBC快速入门1.JDBC API2.JDBC程序编写步骤3.环境配置1.创建src/lib文件夹&#xff0c;放入jar包2.加入到项目中3.配置代码提示 4.代码实例 3.数据库五种连接方式&#xff08;推荐使用4、5&#xff09;1.代码实例2.细节说明1.第四…

全国产数据采集卡定制,24位八通道以太网数据采集卡 labview 100K采样

XM702是一款以太网型高速数据采集卡&#xff0c;具有8通 道真差分输入&#xff0c;24位分辨率&#xff0c;单通道最高采样率100ksps八通 道同步共计800ksps、精密前置增益放大、集成IEPE/ICP硬件 支持的特点。本产品采用了多个高精度24位ADC单元及配合本 公司多年积累开发的前置…

GT收发器第一篇_总体结构介绍

文章目录 前言GT收发器介绍 前言 之前写过一篇简单介绍GT的文章https://blog.csdn.net/m0_56222647/article/details/136730026&#xff0c;可以先通过这篇文章对整体进行简单了解一下。 GT收发器介绍 参考xilinx手册ug476 对于7系列的FPGA&#xff0c;共有3个系列&#xf…

前端三剑客 —— CSS (第二节)

目录 内容回顾&#xff1a; CSS选择器*** 属性选择器 伪类选择器 1&#xff09;:link 超链接点击之前 2&#xff09;:visited 超链接点击之后 3&#xff09;:hover 鼠标悬停在某个标签上时 4&#xff09;:active 鼠标点击某个标签时&#xff0c;但没有松开 5&#xff09;:fo…

Python 从0开始 一步步基于Django创建项目(13)将数据关联到用户

在city_infos应用程序中&#xff0c;每个城市信息条目是关联到城市的&#xff0c;所以只需要将城市条目关联到用户即可。 将数据关联到用户&#xff0c;就是把‘顶层’数据关联到用户。 设计思路&#xff1a; 1、修改顶层数据模型&#xff0c;向其中添加‘用户’属性 2、根…

LC 106.从中序与后序遍历序列构造二叉树

106. 从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a; inorder [9,3,15,20,7], post…

尚医通day1

1 创建项目 doc 窗口 pnpm create vite 填写项目名 vue-syt选择框架 vuetypeScript 2整理项目 删除 /src/assets/vue.svg 文件&#xff0c;删除 /src/components 下的 helloWorld.vue删除app.vue内容&#xff0c;快捷键v3ts 生成模板内容去掉 /src/style.css 样式文件&…

Modbus协议介绍

Modbus存储区 从机存储数据&#xff0c;那么肯定要有一个存储区&#xff0c;那就需要文件操作&#xff0c;我们都知道这文件可以分为只读(-r)和读写(-wr)两种类型 并且存储的数据类型可以分为 &#xff1a;布尔量 和 16位寄存器 布尔量比如IO口的电平高低&#xff0c;灯的开关…

Windows 电脑麦克风 自动启用/禁用 小玩具!

WinMicrophone Windows 系统的 麦克风设备&#xff08;启用/禁用&#xff09;切换驱动&#xff01;它是小巧且快速的&#xff0c;它能够自动的检测并切换麦克风的情况。 您可以在软件包仓库中找到发布版本的exe包&#xff0c;无需安装&#xff01;其能够大大增大您在Windows中…