当前位置: 首页 > news >正文

前端工程化:npmvite

本文为个人学习笔记整理,仅供交流参考,非专业教学资料,内容请自行甄别

文章目录

  • 前言
  • 一、npm
  • 二、vite
    • 2.1、创建项目
    • 2.2、目录结构
    • 2.3、启动项目
    • 2.4、打包项目


前言

  npm是 Node.js 附带的 包管理器,用于安装、管理和发布 JavaScript 包,相当于JAVA中的Maven。而Vite是一个 前端构建工具和开发服务器,它可以用于快速启动前端项目并在生产环境打包优化代码。类似于集成了Maven的Spring Boot脚手架工程。需要安装Node.js,查看Node.js版本:
在这里插入图片描述

一、npm

  npm初始化命令,会生成一个package的json文件:

npm init -y

  安装某个依赖,例如jquery,会在package.json中生成 “dependencies”: { “jquery”: “^x.x.x”},如果加入-a参数则是全局安装。

npm install jquery

  卸载某个依赖,例如jquery:

npm uninstall jquery

  在package.json的script中编写可以运行的脚本进行测试,可以用于启动项目的引导类:

npm run start(start是package.json中自己定义的脚本名称)

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

二、vite

2.1、创建项目

  创建项目脚手架:

npm create vite

在这里插入图片描述
首先输入项目的名称

在这里插入图片描述
选择前端项目的框架

在这里插入图片描述
选择前端项目的语言
在这里插入图片描述
根据命令构建并启动项目

  安装依赖:

npm install

在这里插入图片描述

2.2、目录结构

  生成的项目结构:

  • components下存放vue组件,类似于JAVA的controllerservice目录。
  • App.vue是Vue 项目的根组件。里面可以嵌套其他组件。
  • main.js是主启动类。
  • package.json定义了项目的依赖、脚本、元信息等,类似于JAVA的pom.xml
  • public用于放置放置不会被构建工具处理的静态资源(如 favicon、纯 HTML 文件、图标等),类似于JAVA的resources/staticwebapp
  • assets用于存放图片、字体、SVG 等资源,打包时会被 Vite 处理并优化。
  • index.html是网页的主页面,Vue 会在里面通过 id=“app” 挂载。
  • vite.config.js定义构建配置,比如插件、路径别名、代理服务等。类似于JAVA的application.yml

在这里插入图片描述
  package.json:
在这里插入图片描述
  main.js中的createApp(App).mount('#app'),代表了创建一个 Vue 应用实例,并将根组件 App 渲染到页面上 id 为 app 的 DOM 元素上。这里的App,是App.vue。createApp(App)相当于JAVA中的SpringApplication.run(MainApplication.class, args);
  而.mount('#app')则是将 Vue 应用挂载到页面中 index.html 里的 DOM 元素上,在index.html中定义了:
在这里插入图片描述
  '#app' 指的是这个 HTML 节点。

2.3、启动项目

  使用以下命令启动项目,运行以下命令,执行了package.jsondev的脚本。

npm run dev

  这个网页实际就是App.vue中定义的。
在这里插入图片描述

2.4、打包项目

  使用以下命令打包项目,运行以下命令,执行了package.jsonbuild的脚本。

npm run build

在这里插入图片描述
  项目目录下会生成一个dist文件夹,存放打包后的内容。如果使用git进行项目管理,通常.gitignore中需要设置node_modules dist 忽略提交

http://www.dtcms.com/a/312457.html

相关文章:

  • 解剖 .NET 经典:从 Component 到 BackgroundWorker
  • python基础语法6,简单文件操作(简单易上手的python语法教学)(课后习题)
  • Jetpack Compose for XR:构建下一代空间UI的完整指南
  • Hyper-V + Centos stream 9 搭建K8s集群(二)
  • MySQL 索引失效的场景与原因
  • k8s+isulad 国产化技术栈云原生技术栈搭建2-crictl
  • Linux进程启动后,监听端口几分钟后消失之问题分析
  • MySQL 事务原理 + ACID笔记
  • HiveMQ核心架构思维导图2024.9(Community Edition)
  • Educational Codeforces Round 171 (Rated for Div. 2)
  • 06.Redis 配置文件说明
  • 【openlayers框架学习】十一:openlayers实战功能介绍与前端设计
  • Azure DevOps 中的代理
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 4 部分
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(七级)
  • Mongo索引
  • 0基礎網站開發技術教學(二) --(前端篇 2)--
  • 【超分辨率专题】PiSA-SR:单步Diff超分新突破,即快又好,还能在线调参
  • 信息量,惊奇度,熵、KL散度(相对熵),交叉熵、最大似然估计MLE与最小化交叉熵的等价证明、
  • 每日一博 - 异步编程最佳实践
  • ABAP SQL更新DB小技巧 WITH INDICATORS
  • Python-初学openCV——图像预处理(六)
  • 【GitHub探索】Prompt开发评测平台CozeLoop踩坑体验
  • 【gStreamer】Windows VS2022 C++ 项目中调用gstreamer相关函数,获取无线摄像头视频
  • LLM - 智能体工作流设计模式
  • C++ 设计模式综合实例
  • 设计原则和设计模式
  • 浅窥Claude-Prompting for Agents的Talk
  • Go语法:闭包
  • AD方案(OpenLDAP或微软AD)适配信创存在的不足以及可能优化方案