从0搭建一个vue项目,不使用脚手架从html到vue

前言

        从最开始学习web网页开始,搭建一个网页只需要创建一个html文件对其进行编写dom标签语言即可;后来分离了html,css和js,搭建一个网页开始需要文件夹,文件夹包含了这3类文件以及静态文件,图片,音频,视频......

        到现在开始使用工程化框架搭建网页,vue,react,还有相关的打包工具webpack,vue-cli,vite,这个转变使得构建的网页,功能更加强大,结构更加复杂精细,

        那么这个工程化的过程是怎么变化的,从一个html,到module,src,json,config.js,

开始

  • 使用的构建工具:vite
  • 需要安装的包:vite,vue,@vitejs/plugin-vue
  • 手动生成的文件:index.html, main.js, vite.config.js, App.vue

 

1.新建一个文件夹

新建一个文件夹,然后用vscode打开这个文件夹

在文件夹下新建一个README.md文件(非必要),这里可以添加一些项目描述,

2.新建index.html

添加一个id为app的盒子作为整个项目的容器,

3.npm初始化

打开终端输入npm指令

npm init -y 

这会在文件夹下自动生成一个package.json文件,这是整个项目的核心文件,里面包含了项目中的关键信息,

其中,description字段就是初始化前README.md中的内容,name字段是项目(文件夹)名称,script字段是脚本命令

4.安装相关配置包

执行以下npm命令

npm install vite -D安装vite工具,-D表示安装在开发环境依赖npm install vue安装vue包npm install @vitejs/plugin-vue安装vite构建vue的插件

安装完后,整体产生了3个变化,json文件中多了生产环境(dependencies)和开发环境(devDependencies)的依赖字段,多了一个package-lock.json文件和node_modules文件夹,内部包含了项目相关的支持文件

5.构建项目结构

项目下新建一个src文件夹,并在src下新建main.js和App.vue,新建一个vite.config.js文件

6.书写相关文件的内容

先从src中开始,

main.js

import { createApp } from "vue";
import App from "./App.vue";const app = createApp(App);//注册vue的app实例
app.mount("#app");//将实例挂载到id为app的元素上

App.vue

<template><div>hello world</div>
</template>

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>myVue</title>
</head>
<body><div id="app"></div><!-- 引入入口js文件 --><script type="module" src="/src/main.js"></script>
</body>
</html>

package.json

主要修改以下两个字段:type,和scripts,可以删除main字段

  "type": "module","scripts": {"dev": "vite","build": "vite build","preview": "vite preview"},
{"name": "myvue","version": "1.0.0","description": "从零开始搭建一个vue项目","type": "module","scripts": {"dev": "vite","build": "vite build","preview": "vite preview"},"keywords": [],"author": "","license": "ISC","devDependencies": {"vite": "^5.3.1"},"dependencies": {"@vitejs/plugin-vue": "^5.0.5","vue": "^3.4.30"}
}

其中type字段是必要的(没有将产生错误),以下是官方原话,这表示采用模块化打包

scripts是脚本命令,作用分别是 开发项目预览,打包项目,预览打包项目

vite.config.js

import { defineConfig } from "vite";
import vue from '@vitejs/plugin-vue'export default defineConfig({plugins: [// 使用vite构建vue的插件vue(),],
})

注意这个js文件的作用是提供本地服务搭建vue(类似后端的代码),它实在命令行执行的

运行一下项目可以看到命令行执行这个js的结果,插件就是一个可执行的函数

7.运行项目

配置完以上的文件就可以运行项目了,上面已经运行成功了一次,

npm run dev

点击这个链接查看项目

成功显示结果,到此,一个简单的vue项目就搭建完成了,

结语

        但在真实的项目中,仅仅只有这些配置还远远不够,开发时使用脚手架搭建可以快速的让我们编辑项目核心的代码,这里只是展示一个vue项目是如何产生的,深化对vue框架的了解

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

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

相关文章

备战秋招day4

算法 242. 有效的字母异位词 class Solution {public boolean isAnagram(String s, String t) {int[] count new int[26];for(int i 0;i<s.length();i){count[s.charAt(i)-a];}for(int i 0;i<t.length();i){count[t.charAt(i)-a]--;if(count[t.charAt(i)-a]<0){r…

【CSS】 简单理解一下CSS 3D变换

CSS 3D变换是Web开发中一项强大的技术&#xff0c;它允许开发者在网页上创建和展示三维图形和动画。以下是关于CSS 3D变换的深入浅出介绍&#xff1a; 一、3D变换基础 坐标轴&#xff1a; X轴&#xff1a;水平向右&#xff0c;正方向为右&#xff0c;负方向为左。Y轴&#xff…

【会议征稿】2024年应用计算智能、信息学与大数据国际会议(ACIIBD 2024,7月26-28)

2024年应用计算智能、信息学与大数据国际学术会议&#xff08;ACIIBD 2024&#xff09;将于2024年7月26-28日在中国广州举办。会议将聚焦于计算智能及其应用、信息、大数据等相关的研究领域&#xff0c; 广泛邀请国内外知名专家学者&#xff0c;共同探讨相关学科领域的最新发展…

26.高级特性(上)

目录 一、不安全的Rust二、不安全的超能力2.1 概念2.2 解引用裸指针2.3 调用不安全的函数或方法2.3 创建不安全代码的安全抽象2.4 使用extern函数调用外部代码2.5 访问或修改可变静态变量2.6 实现不安全trait2.7 访问联合体中的字段 三、高级trait3.1 关联类型在trait定义中指定…

【昇思初学入门】第七天打卡-模型训练

训练模型 学习心得 构建数据集。这通常包括训练集、验证集&#xff08;可选&#xff09;和测试集。训练集用于训练模型&#xff0c;验证集用于调整超参数和监控过拟合&#xff0c;测试集用于评估模型的泛化能力。 &#xff08;mindspore提供数据集https://www.mindspore.cn/d…

使用Python和NLTK进行NLP分析的高级指南

在本文中&#xff0c;将利用数据集来比较和分析自然语言。 本文涵盖的基本构建块是&#xff1a; WordNet和同义词集相似度比较树和树岸命名实体识别 WordNet和同义词集 WordNet是NLTK中的大型词汇数据库语料库。WordNet维护与名词&#xff0c;动词&#xff0c;形容词&#…

Unity 弧形图片位置和背景裁剪

目录 关键说明 Unity 设置如下 代码如下 生成和部分数值生成 角度转向量 计算背景范围 关键说明 效果图如下 来自红警ol游戏内的截图 思路&#xff1a;确定中心点为圆的中心点 然后 计算每个的弧度和距离 Unity 设置如下 没什么可以说的主要是背景图设置 代码如下 …

DM达梦数据库函数分析(与mysql对应函数区别及用法分析)

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝💝💝如有需要请大家订阅我的专栏【数据库系列】哟!我会定期更新相关系列的文章 💝💝💝关注!关注!!请…

攻克PS之路——Day1(A1-A8)

#暑假到了&#xff0c;作为可能是最后一个快乐的暑假&#xff0c;我打算学点技能来傍身&#xff0c;首先&#xff0c;开始PS之旅 这个帖子作为我跟着B站up主学习PS的记录吧&#xff0c;希望我可以坚持下去&#xff01; 学习的链接在这里&#xff1a;A02-PS软件安装&#xff0…

Hadoop 面试题(十)

1. 简述下列关于Hadoop命令中&#xff0c;命令执行成功返回0&#xff0c;执行失败返回-1&#xff0c;下列命令返回-1的是 &#xff1f; A&#xff1a;hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 B&#xff1a;hdfs dfs -mv hdfs:///testData file:///tmp/testData …

基于SSM+VUE的网上订餐系统(带1w+文档)

基于SSMVUE的网上订餐系统(带1w文档) 网上订餐系统的数据库里面存储的各种动态信息&#xff0c;也为上层管理人员作出重大决策提供了大量的事实依据。总之&#xff0c;网上订餐系统是一款可以真正提升管理者的办公效率的软件系统。 项目简介 基于SSMVUE的网上订餐系统(带1w文档…

亚马逊云科技官方活动:一个月拿下助理架构师SAA+云从业者考试认证(送半价折扣券)

为了帮助大家考取AWS SAA和AWS云从业者认证&#xff0c;小李哥争取到了大量考试半价50%折扣券&#xff0c;使用折扣券考试最多可省75刀(545元人民币)。 领取折扣券需要加入云师兄必过班群&#xff0c;在群中免费领取。目前必过班群招募到了超过200名小伙伴&#xff0c;名额有限…

Linux中的TCP与UDP:理解两者的差异

在计算机网络的世界中&#xff0c;TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;是两种至关重要的传输层协议。它们就像是我们日常生活中的通信方式&#xff0c;有着不同的使用场景和优缺点。通过一个简单的比喻&#xff0c;我们可以更…

从0到1使用vite搭建react项目保姆级教程(持续更新中)

一、vite创建react项目 要使用Vite创建一个React项目&#xff0c;你需要按照以下步骤操作&#xff1a; 1、确保你已经安装了Node.js&#xff08;建议使用最新的稳定版本&#xff09;。 2、 使用npm命令安装Vite CLI工具&#xff0c;再来创建项目 npm create vitelatest my-vi…

解决ChatGPT遇到“抱歉,我无法完成你的请求”问题

在使用ChatGPT时&#xff0c;可能会遇到这样的问题&#xff1a;当多次重复输入相同的内容时&#xff0c;系统会返回 抱歉&#xff0c;我无法完成你的请求 。本文将解释为什么会出现这种情况&#xff0c;并提供一些避免这种情况的解决方法。 为什么会出现“抱歉&#xff0c;我…

JAVA中的内存泄漏和内存溢出

内存溢出&#xff08;OutOfMemoryError&#xff09; 内存溢出通常在 JVM 无法分配足够的内存给对象时发生。这可能是因为应用程序需要的内存超过了 JVM 可用的最大内存&#xff0c;也可能是因为存在过多的活动对象导致内存耗尽。 示例&#xff1a; public class OutOfMemory…

TSLANet:时间序列模型的新构思

实时了解业内动态&#xff0c;论文是最好的桥梁&#xff0c;专栏精选论文重点解读热点论文&#xff0c;围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;…

2024-6-20 Windows AndroidStudio SDK(首次加载)基础配置,SDK选项无法勾选,以及下载失败的一些解决方法

2024-6-20 Windows AndroidStudio SDK(首次加载)基础配置,SDK选项无法勾选,以及下载失败的一些解决方法 注意:仅仅是SDK这种刚安装时的配置的下载,不要和开源库的镜像源扯到一起&#xff01;&#xff01;&#xff01;&#xff01; 最近想玩AndroidStudio的JNI开发, 想着安装后…