Vue-6.创建Vue项目

news2024/12/22 17:18:52

使用预设默认配置创建Vue项目

创建一个简单的 Vue 项目需要使用 Vue CLI(命令行界面)。Vue CLI 是一个用于快速构建 Vue.js 项目的工具,它可以帮助你设置项目的基本结构、配置以及开发环境。

以下是创建一个简单的 Vue 项目的步骤:

1. 安装 Node.js

Vue CLI 需要 Node.js 环境。如果你还没有安装 Node.js,请前往 Node.js 官网 下载并安装合适的版本。

2. 安装 Vue CLI

打开终端(命令行界面)并运行以下命令来全局安装 Vue CLI:

npm install -g @vue/cli

3. 创建新项目

运行以下命令来创建一个新的 Vue 项目。在这里,我们使用 “my-vue-app” 作为项目名称,你可以将其替换为你自己的项目名称。

vue create my-vue-app
my-vue-project/
├── node_modules/            # 依赖
├── public/                  # 公共静态资源目录
│   ├── index.html           # 应用程序的入口 HTML 文件
│   └── favicon.ico          # 网站的图标文件
├── src/                     # 项目源代码目录
│   ├── assets/              # 静态资源
│   │   ├── logo.png         # 示例图像文件
│   ├── components/          # Vue 组件目录
│   │   ├── HelloWorld.vue   # 示例组件
│   ├── App.vue              # 根组件,应用的布局和全局样式
│   └── main.js              # 入口文件,创建 Vue 实例和配置
├── .gitignore               # Git 忽略文件配置
├── babel.config.js          # Babel 配置文件
├── jsconfig.json            # JavaScript 项目配置文件
├── package.json             # 项目配置和依赖
├── package-lock.json        # 依赖版本锁定文件
├── README.md                # 项目说明文档
├── vue.config.js            # Vue CLI 配置文件

4. 进入项目目录

创建项目后,使用以下命令进入项目目录:

cd my-vue-app

5. 运行开发服务器

使用以下命令在开发模式下运行项目:

npm run serve

运行后,你将在终端看到一个 URL(通常是 http://localhost:8080/ 或类似的地址)。在浏览器中打开该地址,你将看到一个简单的 Vue 应用程序。

这样,你就成功创建了一个简单的 Vue 项目。你可以在项目的 src 文件夹中找到主要的源代码文件,其中的 App.vue 是根组件,main.js 是项目的入口文件。

随后,你可以通过编辑 App.vue 和其他组件,添加更多功能和页面来进一步开发你的 Vue 项目。

使用预设手动配置创建Vue项目(推荐)

使用预设手动配置创建 Vue 项目意味着你可以在选择预设的基础上,根据你的需求进行一些自定义设置。以下是使用预设手动配置创建 Vue 项目的步骤:

1. 安装 Node.js

如果你还没有安装 Node.js,请前往 Node.js 官网 下载并安装合适的版本。

2. 安装 Vue CLI

打开终端并运行以下命令来全局安装 Vue CLI:

npm install -g @vue/cli

3. 创建新项目

运行以下命令来创建一个新的 Vue 项目。在这里,我们使用 “my-vue-app” 作为项目名称,你可以将其替换为你自己的项目名称。

cd C:\Users\Administrator\IdeaProjects
vue create my-vue-app

4. 选择预设配置

运行上述命令后,Vue CLI 将提示你选择一个预设配置。选择一个预设配置,例如 “Default ([Vue 2] babel, eslint)”。

  • 在这里插入图片描述

5. 手动配置

在选择预设配置后,Vue CLI 将为你生成一个初始项目结构。然后,你可以进入项目目录,编辑不同的配置文件以及其他代码文件,进行手动配置和定制。


  • 在这里插入图片描述

  • 当使用 "Manually select features" 模式创建 Vue 项目时,你将可以选择是否启用特定的特性。以下是一份表格,展示了在手动选择特性模式下可能的选项及其描述:
    在这里插入图片描述
选项描述
Babel使用 Babel 编译器将新版 JavaScript 转换为向后兼容的版本,以确保在不同浏览器中兼容。
TypeScript启用 TypeScript 支持,这是 JavaScript 的超集,添加了类型系统支持。
Progressive Web App (PWA) Support启用渐进式 Web 应用(PWA)的支持,提供更好的离线访问和用户体验。
Router启用 Vue Router,官方的 Vue.js 路由管理器,用于构建单页面应用的路由系统。
Vuex启用 Vuex,官方的 Vue.js 状态管理库,用于管理应用的状态。
CSS Pre-processors启用 CSS 预处理器,如 Sass、Less 或 Stylus,以使用更强大的 CSS 功能。
Linter / Formatter启用代码风格检查和自动格式化工具,以帮助保持一致的代码质量和风格。
Unit Testing启用单元测试支持,可以选择使用测试框架如 Mocha 或 Jest。
E2E Testing启用端到端(End-to-End,E2E)测试支持,可以选择使用测试框架如 Nightwatch 或 Cypress。

这些选项可以根据你的项目需求来进行选择和定制。每个选项都提供了不同的功能和工具,可以根据你的开发需要选择启用或禁用。根据你的选择,Vue CLI 将会为你生成适合你项目特性的配置文件和结构。


  • 这里我不使用TypeScript,其他的都用
    在这里插入图片描述

  • 选择Vue.js-3.x
    在这里插入图片描述

  • 选择路由中使用 history 模式
    在这里插入图片描述
    当在 Vue 项目创建过程中选择 "Use history mode for router"(在路由中使用 history 模式)选项时,以下是关于两种路由模式的比较:
特性哈希模式(Hash Mode)历史模式(History Mode)
URL 格式example.com/#/aboutexample.com/about
适用场景适用于单页应用,不需要服务器端配置。适用于需要更干净 URL 且服务器配置良好的应用。
浏览器支持所有浏览器都支持。需要支持 HTML5 历史 API 的浏览器。
服务器配置不需要额外的服务器配置,开箱即用。需要适当的服务器配置来处理客户端路由。
URL 重写不需要服务器重写配置。需要配置服务器以避免直接访问 URL 时出现 404。
SEO对搜索引擎优化不太友好,因为内容在哈希中。对搜索引擎友好,URL 更清晰,内容更容易索引。
刷新页面刷新页面时仍可正常加载应用。需要服务器配置来确保刷新时正确加载应用。

  • CSS pre-processor选择less
    当在 Vue 项目创建过程中选择 “CSS pre-processor”(CSS 预处理器)选项时,你可以根据需求选择是否使用以下预处理器来编写样式:
选项描述
None不使用任何 CSS 预处理器,直接编写原生 CSS。
Sass/SCSS使用 Sass(Syntactically Awesome Style Sheets) 预处理器,提供了更丰富的功能,如变量、嵌套、混合等。Vue CLI 使用 SCSS 作为 Sass 的语法。
Less使用 Less 预处理器,类似于 Sass,提供了类似的功能,如变量、嵌套、混合等。
Stylus使用 Stylus 预处理器,提供了简洁的语法和强大的功能。

选择适合的 CSS 预处理器取决于你的个人偏好和项目需求。使用预处理器可以让你更有效地管理和组织样式代码,并提供一些额外的功能,以提高样式开发的效率。

根据你的选择,Vue CLI 将会配置项目以支持所选的预处理器,并且在项目的组件中的 <style> 标签中编写预处理器的样式代码。这样,你就能够以更强大的方式编写和管理样式,从而提升项目的开发效率和可维护性。


  • linter / formatter config选择ESLint + Prettier

当你在创建 Vue 项目时选择 “Linter / formatter config” 选项时,可以根据不同的配置选择,获得不同的代码风格检查和自动格式化设置。以下是这些配置的一个简单表格化概述:

配置选项描述
ESLint使用 ESLint 进行代码风格检查和错误检测。你可以选择使用预设的规则或进行自定义配置。
Prettier使用 Prettier 进行自动代码格式化,保持一致的缩进、引号、换行等。
ESLint + Prettier结合 ESLint 和 Prettier,既检查代码风格又自动格式化,确保代码符合规范且格式一致。

选择其中一个配置选项可以根据你的需求和偏好,帮助你维持一致的代码质量和风格,提高代码的可读性和可维护性,减少错误和风格不一致所带来的问题。根据你的选择,你还可以进一步调整和定制代码风格检查和自动格式化的规则。


  • additional lint features选择Lint on save

以下是 “Additional lint features” 选项的表格化概述:

附加功能描述
Lint on save在保存文件时自动运行代码风格检查。每次保存文件时,ESLint 会检查代码并显示警告或错误。
Lint and fix on commit在每次提交代码时,自动运行代码风格检查并尝试自动修复可修复的问题。确保提交的代码规范。
Error prevention in manual mode在手动编写代码时,实时检查代码风格并显示警告或错误,帮助避免常见的代码风格问题。

选择这些附加功能可以增强你的代码质量和风格管理,以及减少在开发过程中可能出现的错误。根据项目需求和团队实践,你可以选择其中一个或多个附加功能来提高代码的一致性和可维护性。


  • unit testing选择jest

以下是与 “Unit testing” 相关的表格化概述:

概念描述
单元测试框架在 Vue 项目中,你可以选择使用 Jest、Mocha 等测试框架来编写和运行单元测试。
断言库断言库用于编写测试用例中的断言,以验证代码是否按预期工作。常见的库包括 Chai、Jest 断言等。
测试运行器测试运行器收集和执行测试用例,通常与测试框架集成。在 Vue 项目中,你会使用测试框架的运行器。
测试文件每个组件或模块通常都有对应的测试文件,其中包含测试用例,描述代码在不同情况下的行为和输出。
模拟在单元测试中,你可能需要模拟依赖项,如 API 调用、外部库等。你可以使用 Sinon 等库来进行模拟。

通过单元测试,你可以确保项目中的每个单元(组件、函数等)都能按照预期工作,减少潜在问题,并提高代码的质量和稳定性。在 Vue 项目中,Jest 是一个流行的选择,可以帮助你轻松地编写和运行单元测试。


  • E2E testing选择Cypress

以下是与 “E2E testing” 相关的表格化概述:

概念描述
E2E 测试框架在 Vue 项目中,你可以选择使用 Cypress、Nightwatch 等 E2E 测试框架,模拟用户操作和验证应用程序。
模拟用户操作在 E2E 测试中,你可以模拟用户在应用程序中的实际操作,如点击、输入、导航等。
验证用户交互E2E 测试可以验证用户在应用程序中的交互,确保交互产生预期的结果。
应用程序流程E2E 测试可以测试整个应用程序的流程,从登录到交互到退出等。
断言和期望在 E2E 测试中,你可以使用断言来验证应用程序的行为是否符合预期,例如页面元素、数据、状态等。

通过 E2E 测试,你可以全面地验证应用程序的功能、交互和流程,以确保用户能够正常使用应用并获得预期的结果。在 Vue 项目中,Cypress 是一个流行的 E2E 测试框架,它可以帮助你模拟用户操作并进行验证,从而确保应用程序在各种情况下都能正确运行。


  • 配置文件我选择分开,而不是集中在package.json中

  • 最后我选择将此保存为未来项目的预设,下次进入我就不用一步步配置了
    在这里插入图片描述

    在这里插入图片描述

my-vue-project/                    <!-- 项目根目录 -->
├── node_modules/                  <!-- 存放项目依赖的文件夹 -->
├── public/
│   ├── index.html                 <!-- 应用程序的入口文件 -->
├── src/
│   ├── assets/                    <!-- 存放静态资源,如图片、样式等 -->
│   ├── components/                <!-- 存放 Vue 组件 -->
│   ├── views/                     <!-- 存放页面级的 Vue 组件 -->
│   ├── App.vue                    <!-- 根组件,应用程序的外层容器 -->
│   ├── main.js                    <!-- 应用程序的入口文件,初始化 Vue 实例 -->
├── tests/
│   ├── unit/                      <!-- 存放单元测试代码 -->
│   │   ├── example.spec.js        <!-- 示例的单元测试文件 -->
│   ├── e2e/                       <!-- 存放端到端(E2E)测试代码 -->
│   │   ├── specs/
│   │   │   ├── test.spec.js       <!-- 示例的 E2E 测试文件 -->
├── .browserslistrc                <!-- 浏览器兼容性配置文件 -->
├── .gitignore                     <!-- Git 版本控制忽略文件列表 -->
├── babel.config.js                <!-- Babel 配置文件,转译代码适应不同浏览器 -->
├── cypress.json                   <!-- Cypress 的配置文件 -->
├── jest.config.js                 <!-- Jest 的配置文件 -->
├── jsconfig.json                  <!-- JavaScript 项目配置文件 -->
├── package.json                   <!-- 项目配置文件,包含依赖和脚本等信息 -->
├── package-lock.json              <!-- 锁定项目依赖的具体版本信息 -->
├── README.md                      <!-- 项目的说明文档 -->
├── vue.config.js                  <!-- Vue CLI 配置文件,自定义构建和开发配置 -->
├── .eslintrc.js                   <!-- ESLint 配置文件,包括代码风格规则 -->

6. 进入项目目录

创建项目后,使用以下命令进入项目目录:

cd my-vue-app

7. 运行开发服务器

使用以下命令在开发模式下运行项目:

npm run serve

运行后,你将在终端看到一个 URL(通常是 http://localhost:8080/ 或类似的地址)。在浏览器中打开该地址,你将看到一个简单的 Vue 应用程序。

这样,你就可以使用预设手动配置来创建 Vue 项目。预设配置为你设置了一些默认设置,然后你可以根据项目需求进行修改和定制。这种方式更加灵活,适用于有特定需求的项目。

创建项目中出现的bug

无法加载文件 D:\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本

这个错误提示表明在您的系统上,PowerShell 脚本的执行被限制了,而在执行 Vue CLI 时,它尝试运行一个 PowerShell 脚本。

解决此问题的方法是允许在您的系统上执行 PowerShell 脚本。您可以按照以下步骤来操作:

  1. 以管理员身份运行 PowerShell
    请确保您使用管理员权限运行 PowerShell。右键单击 PowerShell 快捷方式,然后选择 “以管理员身份运行”。

  2. 修改执行策略
    在管理员模式下打开 PowerShell 后,输入以下命令以修改 PowerShell 的执行策略:

    Set-ExecutionPolicy RemoteSigned
    

    或者,如果您想更加开放,可以使用以下命令(但这样可能会降低系统安全性,请谨慎操作):

    Set-ExecutionPolicy Unrestricted
    

    执行后,系统将允许运行本地签名的脚本。

  3. 确认修改
    输入 Get-ExecutionPolicy 命令,以确认执行策略已更改为您所需的选项。

请注意,更改执行策略可能会对系统安全性产生影响,因此请确保您知晓这些更改可能带来的潜在风险。如果您不确定如何操作,建议在修改系统设置之前,了解更多关于 PowerShell 执行策略的信息,并在必要时咨询系统管理员。

The Cypress App could not be downloaded.

如果你选择下载 Cypress 的压缩包并手动安装,可以按照以下步骤进行操作:

如果你想使用 cnpm(淘宝镜像的 npm)来安装 Cypress,你可以按照以下步骤进行操作:

  1. 安装 cnpm:
    如果你尚未安装 cnpm,你需要先安装 cnpm。你可以在终端中运行以下命令来全局安装 cnpm:

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    
  2. 使用 cnpm 安装 Cypress:
    安装了 cnpm 后,你可以使用以下命令来使用 cnpm 安装 Cypress。在终端中进入你的项目目录,然后运行:

    cnpm install cypress --save-dev
    

    这将使用 cnpm 下载并安装 Cypress 安装包,并将其作为开发依赖项保存在你的项目中。

  3. 启动 Cypress:
    安装完成后,你可以运行以下命令来启动 Cypress:

    npx cypress open
    

    或者,你可以使用 cnpx 来执行 cnpm 安装的模块:

    cnpx cypress open
    

    这将会打开 Cypress 的测试运行器界面,你可以在这里运行测试、编写测试用例等。

使用 cnpm 来安装 Cypress 可以加速下载速度,因为 cnpm 使用了国内的镜像源。但请注意,使用 cnpm 安装可能会导致一些问题,因为某些 npm 模块可能在 cnpm 上没有完全同步。如果你遇到问题,你也可以尝试使用普通的 npm 或 yarn 进行安装。

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

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

相关文章

机器学习基础之《分类算法(1)—sklearn转换器和估计器》

一、转换器 1、什么是转换器 之前做特征工程的步骤&#xff1a; &#xff08;1&#xff09;第一步就是实例化了一个转换器类&#xff08;Transformer&#xff09; &#xff08;2&#xff09;第二步就是调用fit_transform&#xff0c;进行数据的转换 2、我们把特征工程的接口称…

idea中Maven报错Unable to import maven project: See logs for details问题的解决方法

idea中Maven报错Unable to import maven project: See logs for details问题的解决方法。 在查看maven的环境配置和idea的maven配置后&#xff0c;发现是idea 2020版本和maven 3.9.3版本的兼容性问题。在更改为Idea自带的maven 3.6.1版本后问题解决&#xff0c;能成功下载jar包…

个人对哈希数据结构学习总结 -- 实践篇 -- 上

个人对哈希数据结构学习总结 -- 实践篇 -- 上 引言最佳实践Java篇HashMapgetput扩容 ConcurrentHashMapgetput扩容协作扩容读为什么可以不加锁&#xff1f; ThreadLocalMapgetput扩容delete为什么遍历到null桶就可以判断key不存在&#xff1f;ThreadLocalMap为什么不需要锁&…

【uniapp】picker mode=“region“ 最简单的省市区 三级联动

省市区 picker template <picker mode"region" :value"date" class"u-w-440" change"bindTimeChange"><u--inputborder"bottom"class"u-fb u-f-s-28"placeholder"请选择省市区"type"te…

从零实战SLAM-第八课(非特征点的视觉里程计)

在七月算法报的班&#xff0c;老师讲的蛮好。好记性不如烂笔头&#xff0c;关键内容还是记录一下吧&#xff0c;课程入口&#xff0c;感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…

ARM04cortex-A7核LED灯实验

文章目录 一、核心板二、扩展板二、硬件术语2.1 原理图2.2 PCB板2.3 丝印2.4 网络编号 三、分析电路图3.1 思路3.2 总结3.3 工作原理 实验目的&#xff1a;实现LED1/LED2/LED3三盏灯工作 一、核心板 二、扩展板 二、硬件术语 2.1 原理图 原理图是用来描述PCB板子上各个硬件连接…

深入理解epoll

文章目录 概述1. epoll_create - 创建一个epoll实例2. epoll_ctl - 控制epoll实例的事件结构体介绍events取值&#xff1a;data&#xff1a; 联合体&#xff08;共用体&#xff09;&#xff1a; 3. epoll_wait - 等待事件发生伪代码总结 概述 在网络编程中&#xff0c;高效地处…

2023 年牛客多校第九场题解

B Semi-Puzzle: Brain Storm 题意&#xff1a;给定 a , m a,m a,m&#xff0c;构造一个非负整数 u u u&#xff0c;使得 a u ≡ u ( m o d m ) a^u \equiv u \pmod m au≡u(modm)。 1 ≤ a < m ≤ 1 0 9 1 \le a<m \le 10^9 1≤a<m≤109&#xff0c; 0 ≤ u ≤ 1 …

Elasticsearch:如何在 Ubuntu 上安装多个节点的 Elasticsearch 集群 - 8.x

Elasticsearch 是一个强大且可扩展的搜索和分析引擎&#xff0c;可用于索引和搜索大量数据。 Elasticsearch 通常用于集群环境中&#xff0c;以提高性能、提供高可用性并实现数据冗余。 在本文中&#xff0c;我们将讨论如何在 Ubuntu 20.04 上安装和配置具有多节点集群的 Elast…

centos7安装protobuf|序列化和反序列化工具

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总https://blog.csdn.net/yu_cblog/categ…

如何利用视频监控与AI智能识别技术实现铁塔基站机房无人值守?

一、项目背景 很多通信铁塔和机房类项目&#xff0c;都呈现高密度、网格化分布的特点&#xff0c;铁塔基站大多都分布在公路边、高山、野外等区域&#xff0c;巡检难度大&#xff0c;维护效率低&#xff1b;基站设备众多且监控方式单一&#xff0c;而且时刻面临着非法闯入、被…

linux学习(进程替换)[10]

创建子进程 fork()创建子进程进行替换&#xff0c;不影响父进程&#xff0c;父进程聚焦在&#xff1a;读取数据、解析数据、指派进程、执行代码的功能。 子进程发生替换后的数据 在加载新程序进去之前&#xff0c;父子之间的的代码是共享的&#xff0c;数据写时拷贝进子进程…

Webshell实例分析解析

Webshell的实例分析 LD_PRELOAD的劫持在 web 环境中实现基于 LD_PRELOAD 的 RCE 命令执行利用 mail 函数启动新进程 绕过不含字母和数字的Webshell异或取反 LD_PRELOAD的劫持 LD_PRELOAD是Linux/Unix系统的一个环境变量&#xff0c;它影响程序的运行时的链接&#xff08;Runti…

ATF bl1 ufshc_dme_get/set处理流程分析

ATF bl1 ufshc_dme_get/set处理流程分析 UFS术语缩略词1 ATF的下载链接2 ATF BL1 ufshc_dme_get/set流程3 ufs总体架构图3.1 UFS Top Level Architecture3.2 UFS System Model 4 ufshc_dme_get/set函数接口详细分析4.1 ufshc_dme_get4.2 ufshc_dme_set4.3 ufshc_send_uic_cmd4.…

Visual Studio 如何放大代码字体的大小

1.打开Visual Studio&#xff0c;新建一个程序&#xff0c;一段代码&#xff0c;为接下去的操作做好准备。单击菜单栏的【工具】选项。 2.在跳出来菜单中找到【选项】&#xff08;一般在最后一项&#xff09;&#xff0c;然后单击。跳出新的窗口。 3.跳出新的窗口后&#xff…

SPI-FlexSPI

概念 SPI 高速全双工通信总线 SPI有四根线&#xff1a; SDO&#xff1a;数据输出-主设备数据输出&#xff0c;从设备数据输入 SDI:数据输入-主设备数据输入&#xff0c;从设备数据输出 SCLK&#xff1a;时钟信号-由主设备产生 CS&#xff1a;片选信号&#xff0c;主设备…

打家劫舍 II——力扣213

动规 int robrange(vector<int>& nums, int start, int end){int first=nums[start]

Python程序设计——字符串处理的特殊方法

学习目标&#xff1a; 学习如何创建字符串使用len、min和max函数获取一个字符串的长度、串中的最大和最小的字符使用下标运算符([])访问字符串中的元素使用截取运算符str[ start:end]从较长的字符串中得到一个子串使用运算符连接两个字符串&#xff0c;通过*运算符复制一个字符…

SegFormer之模型训练

单卡训练&#xff0c;所有配置文件里的【SyncBN】改为【BN】 启动训练 &#xff08;1&#xff09;终端直接运行 python tools/train.py local_configs/segformer/B1/segformer.b1.512x512.ade.160k.py &#xff08;2&#xff09;在编辑器中运行 在 [config] 前面加上’–‘将…

Coremail AI实验室:利用高级语境和视觉智能进行钓鱼邮件检测

在这个日益数字化的时代&#xff0c;对电子邮件安全需求是至关重要的。新兴的高级威胁邮件&#xff1a;应用社工技术的钓鱼邮件&#xff0c;仿冒公检法的钓鱼邮件等等&#xff0c;都需要更高级的防御策略。 Coremail邮件安全人工智能实验室&#xff0c;整合了高级文本语境理解和…