首页 > 其他分享 >今日总结

今日总结

时间:2023-12-29 22:01:44浏览次数:42  
标签:总结 Vue js vue 使用 今日 message ES

创建一个 Vue 应用

前提条件

  • 熟悉命令行
  • 已安装 18.0 或更高版本的 Node.js

在本节中,我们将介绍如何在本地搭建 Vue 单页应用。创建的项目将使用基于 Vite 的构建设置,并允许我们使用 Vue 的单文件组件 (SFC)。

确保你安装了最新版本的 Node.js,并且你的当前工作目录正是打算创建项目的目录。在命令行中运行以下命令 (不要带上 > 符号):

> npm create vue@latest

这一指令将会安装并执行 create-vue,它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示:

✔ Project name: … <your-project-name>
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit testing? … No / Yes
✔ Add an End-to-End Testing Solution? … No / Cypress / Playwright
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No / Yes

Scaffolding project in ./<your-project-name>...
Done.

如果不确定是否要开启某个功能,你可以直接按下回车键选择 No。在项目被创建后,通过以下步骤安装依赖并启动开发服务器:

> cd <your-project-name>
> npm install
> npm run dev

你现在应该已经运行起来了你的第一个 Vue 项目!请注意,生成的项目中的示例组件使用的是组合式 API 和 <script setup>,而非选项式 API。下面是一些补充提示:

当你准备将应用发布到生产环境时,请运行:

> npm run build

此命令会在 ./dist 文件夹中为你的应用创建一个生产环境的构建版本。关于将应用上线生产环境的更多内容,请阅读生产环境部署指南

下一步>

通过 CDN 使用 Vue

你可以借助 script 标签直接通过 CDN 来使用 Vue:

html
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

这里我们使用了 unpkg,但你也可以使用任何提供 npm 包服务的 CDN,例如 jsdelivr 或 cdnjs。当然,你也可以下载此文件并自行提供服务。

通过 CDN 使用 Vue 时,不涉及“构建步骤”。这使得设置更加简单,并且可以用于增强静态的 HTML 或与后端框架集成。但是,你将无法使用单文件组件 (SFC) 语法。

使用全局构建版本

上面的链接使用了全局构建版本的 Vue,该版本的所有顶层 API 都以属性的形式暴露在了全局的 Vue 对象上。这里有一个使用全局构建版本的例子:

html
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

<div id="app">{{ message }}</div>

<script>
  const { createApp, ref } = Vue

  createApp({
    setup() {
      const message = ref('Hello vue!')
      return {
        message
      }
    }
  }).mount('#app')
</script>

Codepen 示例

TIP

本指南中许多关于组合式 API 的例子将使用 <script setup> 语法,这需要构建工具。如果你打算在没有构建步骤的情况下使用组合式 API,请参考 setup() 选项的用法。

使用 ES 模块构建版本

在本文档的其余部分我们使用的主要是 ES 模块语法。现代浏览器大多都已原生支持 ES 模块。因此我们可以像这样通过 CDN 以及原生 ES 模块使用 Vue:

html
<div id="app">{{ message }}</div>

<script type="module">
  import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

  createApp({
    setup() {
      const message = ref('Hello Vue!')
      return {
        message
      }
    }
  }).mount('#app')
</script>

注意我们使用了 <script type="module">,且导入的 CDN URL 指向的是 Vue 的 ES 模块构建版本。

Codepen 示例

启用 Import maps

在上面的示例中,我们使用了完整的 CDN URL 来导入,但在文档的其余部分中,你将看到如下代码:

js
import { createApp } from 'vue'

我们可以使用导入映射表 (Import Maps) 来告诉浏览器如何定位到导入的 vue

html
<script type="importmap">
  {
    "imports": {
      "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
    }
  }
</script>

<div id="app">{{ message }}</div>

<script type="module">
  import { createApp, ref } from 'vue'

  createApp({
    setup() {
      const message = ref('Hello Vue!')
      return {
        message
      }
    }
  }).mount('#app')
</script>

Codepen demo

你也可以在映射表中添加其他的依赖——但请务必确保你使用的是该库的 ES 模块版本。

导入映射表的浏览器支持情况

导入映射表是一个相对较新的浏览器功能。请确保使用其支持范围内的浏览器。请注意,只有 Safari 16.4 以上版本支持。

生产环境中的注意事项

到目前为止示例中使用的都是 Vue 的开发构建版本——如果你打算在生产中通过 CDN 使用 Vue,请务必查看生产环境部署指南

拆分模块

随着对这份指南的逐步深入,我们可能需要将代码分割成单独的 JavaScript 文件,以便更容易管理。例如:

html
<!-- index.html -->
<div id="app"></div>

<script type="module">
  import { createApp } from 'vue'
  import MyComponent from './my-component.js'

  createApp(MyComponent).mount('#app')
</script>
js
// my-component.js
import { ref } from 'vue'
export default {
  setup() {
    const count = ref(0)
    return { count }
  },
  template: `<div>count is {{ count }}</div>`
}

如果直接在浏览器中打开了上面的 index.html,你会发现它抛出了一个错误,因为 ES 模块不能通过 file:// 协议工作,也即是当你打开一个本地文件时浏览器使用的协议。

由于安全原因,ES 模块只能通过 http:// 协议工作,也即是浏览器在打开网页时使用的协议。为了使 ES 模块在我们的本地机器上工作,我们需要使用本地的 HTTP 服务器,通过 http:// 协议来提供 index.html

要启动一个本地的 HTTP 服务器,请先安装 Node.js,然后通过命令行在 HTML 文件所在文件夹下运行 npx serve。你也可以使用其他任何可以基于正确的 MIME 类型服务静态文件的 HTTP 服务器。

可能你也注意到了,这里导入的组件模板是内联的 JavaScript 字符串。如果你正在使用 VSCode,你可以安装 es6-string-html 扩展,然后在字符串前加上一个前缀

标签:总结,Vue,js,vue,使用,今日,message,ES
From: https://www.cnblogs.com/zhaoyueheng/p/17935748.html

相关文章

  • 2023 年终总结
    重逢会有期,蹒跚又一年难得疫情缓和,三年没回国,这次回去呆了一阵子。免不了的走亲访友,大快朵颐,直接导致体重暴增5公斤!人的情感真是微妙,山水相隔自是思念,但相见后的离别更是让人痛苦,可见“相忘于江湖”虽然显得冷漠,却是真的洒脱。眼看年底,抽时间去医院做了健康检查,血压高、眼压高......
  • 每日总结12.29
    今天完成了绩效考核模块的原型制作和部分软件需求规格说明书的内容:系统生产管理和绩效考核模块的需求的原因和起源:生产管理模块需求的起源:1.市场竞争和效率提升:随着市场竞争的加剧,企业需要提高生产效率和管理能力,以降低成本、提高产量和质量。生产管理模块可以帮助优化生产计划......
  • Codeforces Round 918 (Div. 4)赛后总结(前缀和)(set部分用法)
    CodeforcesRound918(Div.4)赛后总结a,b题没啥好说的c题典中典没开longlong一回事,还有判断数a是否为完全平方数直接用sqrt(a)\(^2\)=a的判断就可以d题经典字符串问题首先,我们以一个字符数组的形式存数据。再根据已知cv,cvc两种形式,我们只需要判断c的时候看v是否有用过(可......
  • 2023总结与展望--Empirefree
    今年一篇博客都没写过了,好像完全在忙在工作和生活上面了,珍惜自我,保持热情,2024对我好点目录......
  • 企业erp支出审批收入审批以及支出收入总结功能
     总结:收入和支出实体类相似。结果相当于将收入和支出已通过的内容中金额属性相加减计算的出。 ......
  • 2023-2024-1 20231420 《计算机基础与程序设计》第十四周学习总结
    2023-2024-120231420《计算机基础与程序设计》第十四周学习总结1.作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标学习《C语言程序设计》第13章并完成云班课测......
  • 代码cr总结
    1.前端开发过程中,有的样式没法生成,加入/deep后样式成功渲染,为什么,用这个deep有什么注意点嘛在前端开发中,如果你发现某些样式没有被正确应用,并且使用了/deep/或::v-deep(视具体框架而定)后样式成功渲染,这通常是因为你遇到了CSS作用域问题,特别是在使用Vue......
  • 2023年终总结:在不确定中寻找确定
    昨天收到一位微信好友的消息让我帮忙看下他的年终总结,我才意识到不知不觉中今年已经要结束了,在工作的最后一天回想了今年发生的事情,觉得有必要记录一下,也算是为有喜有悲的一年画一个完整的句号吧。关于工作今年在工作和职业发展上用一句话总结来说,大概是在期望之内,但又有些惊喜......
  • iOS 常见问题总结及解决方法
    SDK如何初始化在您需要使用融云SDK功能的类中,import相关头文件。#import<RongIMKit/RongIMKit.h>如果是Swift的话,需要在您工程的Bridging-Header.h文件中加入SDK的引用#import<RongIMKit/RongIMKit.h>请使用您之前从融云开发者控制台注册得到的AppKey,通过RCIM的......
  • MariaDB VS MySQL 2023年技术总结
    专业评测报告来源于Percona,这里摘要关键部分展示二者区别。https://www.percona.com/blog/mysql-vs-mariadb-reality-check/MariaDBvs.MySQLvsPerconaServerforMySQL:一般比较MariaDB、MySQL和PerconaServerforMySQL都是非常流行的关系数据库管理系统。在下图中,我们将......