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

news2024/11/25 9:46:28

前言

        从最开始学习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.coloradmin.cn/o/1861949.html

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

相关文章

2024年全新Studio One 6 .6.1新功能介绍及安装激活使用指南

​ 录制、制作、混音、掌握和表演所需的一切。Studio One 6 .6.1通过新的智能模板、直观的拖放工作流程、可定制的用户界面和强大的集成工具&#xff0c;让创作变得快速而轻松。 智能模板。快速启动。 快速启动录音、混音、掌握、节拍制作或简单地演奏虚拟乐器的基本工作流程—…

#04贪心法

要点&#xff1a; 贪心法的基本思想、基本要素与求解步骤&#xff1b; 贪心法的应用。 难点&#xff1a; 贪心法的最优子结构性质与贪心选择性质。 贪心法的基本思想 每个阶段的决策一旦做出就不可更改。不允许回溯。 并不从整体最优考虑&#xff0c;所作出的选择只是在某…

视频素材网站哪个好用?好用的做短视频素材下载网站分享

你是否正面临着为短视频寻找完美素材的困扰&#xff1f;是否对网络上那些雷同的素材网站感到厌烦了&#xff1f;今天&#xff0c;我将为大家推荐几个优秀的海外视频素材网站&#xff0c;这些隐藏的宝藏网站定能让你的作品焕发新光彩&#xff01; 蛙学素材网——您的创作好帮手…

希望数学少年俱乐部精品课学生用书-四年级

PDF版本链接链接&#xff1a;https://pan.baidu.com/s/1t6prtG9sd-1mYsnCUz-mKQ 提取码&#xff1a;0548 --来自百度网盘超级会员V7的分享

《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天&#xff0c;p19-p24总结&#xff0c;总计 5 页。 一、技术总结 1.grouping of phases 这里谈到分组(group)&#xff0c;那么就会有一个疑问&#xff0c;分组的依据是什么&#xff1f;即根据什么来分组。 (1) front end & back end 编译器包含…

办公效率神器:ONLYOFFICE 的配置和使用

1.认识 ONLYOFFICE ONLYOFFICE 是一款免费开源的协同办公软件套件&#xff0c;支持多种文件格式&#xff0c;包括PDF、Word、Excel、PowerPoint等。它提供了文档编辑、表格处理、演示制作等功能&#xff0c;并可以与其他应用程序和平台集成&#xff0c;功能亮点特点如下&#…

【unity笔记】六、UI实现下拉列表切换视角

具体步骤如下 1. 创建UI下拉列表&#xff1a; 在Unity场景中右键点击并选择UI -> 下拉列表 来创建一个新的下拉列表。 2. 添加摄像机选项&#xff1a; 在Dropdown的Options属性中添加新的选项&#xff0c;通过点击按钮来添加选项&#xff0c;并为每个选项设置一个显示名…

【大数据】—谁是世界上最富的人?

引言 在2024年&#xff0c;全球财富的分布再次成为公众和经济学家关注的焦点。随着经济的波动和新兴市场的崛起&#xff0c;亿万富翁的名单也在不断变化。本文将深入探讨这一现象&#xff0c;通过最新的数据可视化分析&#xff0c;揭示世界上最富有的人在2024年的财富状况和趋…

成都百洲文化传媒有限公司助力电商品牌乘风破浪

在当今数字化时代&#xff0c;电商行业风起云涌&#xff0c;竞争异常激烈。成都百洲文化传媒有限公司凭借其对电商行业的深刻理解与实战经验&#xff0c;已然成为行业中的佼佼者。公司专注于电商服务领域&#xff0c;通过创新的营销模式和精准的市场策略&#xff0c;助力众多品…

#03动态规划

要点&#xff1a; 动态规划方法与贪心法、分治法的异同&#xff1b; 动态规划方法的基本要素与求解步骤&#xff1b; 动态规划方法的应用。 难点&#xff1a; 如何根据问题的最优子结构性质构造构造动态规划方法中的递归公式或动态规划方程。 动态规划的基本思想 动态规…

使用Servlet开发javaweb,请求常见错误详解及其解决办法【404、405、500】

Servlet报错的情况多种多样&#xff0c;涵盖了配置错误、代码逻辑错误、资源未找到、权限问题等多个方面。以下是一些常见的Servlet报错情况及其可能的原因和解决方法&#xff1a; 404 Not Found: 错误原因图示&#xff1a; URL映射 发送请求&#xff0c;出现404错误 原因: 请…

excel隐藏的部分内容如何显示出来?3个方法帮助你!

excel隐藏的部分如何显示出来&#xff1f;你是否曾经在Excel中遇到过某些单元格被隐藏&#xff0c;或者某些数据在编辑时突然消失&#xff0c;让你感到困惑和无助&#xff1f;不要担心&#xff0c;今天我将向你揭示如何解决这些问题&#xff0c;让你轻松显示隐藏的部分。 方法1…

神经网路学习7-线性模型

一个最简单的线性模型&#xff0c;w是权重&#xff0c;一般来说会取随机值&#xff0c;然后不断学习直到与预期相同 如此以此取每个值与真实值的差值&#xff0c;即评估误差 即找一个合适的权重w&#xff0c;使得平均误差最小 上面的是针对单个样本的&#xff0c;后面的是对…

onnx模型修改:去掉Dropout层

文章目录 尝试1&#xff1a;强行设置dropout层train mode为False尝试2&#xff1a;找到onnx模型中的dropout, train mode设置为False尝试3&#xff1a;直接删除dropout层&#xff0c;连接其输入输出结语 最近训练模型使用了tinyvit&#xff0c;性能挺强的&#xff1a; 但是导出…

Posix消息队列使用总结

Posix在线文档&#xff1a; The Single UNIX Specification, Version 2 (opengroup.org) Linux系统中提供了两种不同接口的消息队列&#xff1a; POSIX消息队列。POSIX为可移植的操作系统接口。System V消息队列。System V 是 AT&T 的第一个商业UNIX版本(UNIX System III)的…

【Mac】iTerm for mac(终端工具)软件介绍及安装教程

软件介绍 iTerm 是 macOS 上一个非常受欢迎的终端仿真器&#xff0c;提供了比默认的 Terminal 应用更多的功能和定制选项。它是一款开源软件&#xff0c;主要用于命令行界面的操作和开发者工具。 主要特点和功能&#xff1a; 分页和标签&#xff1a; iTerm 允许用户在单个窗…

Spring Boot项目的两种发布方式

5.1.方式1&#xff1a;通过jar包发布 步骤1&#xff1a;在pom中添加一个SpringBoot的构建的插件 <build><plugins><plugin><groupId>org.springframework.boot</groupId><!--自动检测项目中的 main 函数--><artifactId>spring-boot…

开发一款直播APP完整指南

直播是一种强大的营销工具&#xff0c;可以让企业与观众进行真实的互动。 根据Grand View Research发布的预测&#xff0c;直播行业规模将从 2021 年的 700 亿美元增长到 2028 年的近 2240 亿美元&#xff0c;七年内增长三倍。 区块链技术和人工智能等技术进步将在未来几年提…

mybatis-plus 实体中空字段更新不上

FieldStrategy 是一个枚举类型&#xff0c;它定义了字段的几种策略&#xff1a; IGNORED&#xff1a;忽略判断&#xff0c;所有字段都进行更新操作 NOT_NULL&#xff1a;非 NULL 判断&#xff08;默认策略&#xff09;&#xff0c;字段非 NULL 才进行更新 NOT_EMPTY&#xff…

数据结构与算法—空间复杂度详解与示例(C#,C++)

文章目录 1. 数据结构概述2. 空间复杂度的定义及影响因素3. 空间复杂度的区分常数空间复杂度&#xff08;O(1)&#xff09;线性空间复杂度&#xff08;O(n)&#xff09;其他空间复杂度 4. 几种典型数据结构的优缺点分析数组&#xff08;Array&#xff09;链表&#xff08;Linke…