快速上手

📚 Vue.js 简介与快速上手

Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

下面是一个最基本的示例:

import { createApp } from 'vue'
 
createApp({
  data() {
    return {
      count: 0
    }
  }
}).mount('#app')
<div id="app">
  <button @click="count++">
    Count is: {{ count }}
  </button>
</div>

🚀 创建 Vue 应用程序

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

搭建步骤

确保你安装了最新版本的 Node.js,然后在命令行中运行以下命令:

npm init 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 Cypress for both Unit and End-to-End testing? … No / Yes
✔ 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 项目了!

请注意: 生成的项目中的示例组件是使用 Composition API<script setup> 编写的,而不是 Options API。

提示和拓展资源

  • 推荐的 IDE 设置为 Visual Studio Code + Volar 扩展。如果您使用其他编辑器,请查看 IDE 支持部分中讨论了更多工具细节,包括与后端框架的集成。
  • 要了解有关底层结构工具 Vite 的更多信息,请查看 Vite 文档。
  • 如果您选择使用 TypeScript,请查看 TypeScript 使用指南。

生产环境部署

当您准备好将您的应用程序发布到生产环境时,请运行以下命令:

npm run build

这将在项目目录中创建您的应用程序的生产就绪结构。查看 生产部署指南,了解了有关将应用程序交付生产的更多信息。


🌐 从 CDN 使用 Vue

您可以通过脚本标签直接从 CDN 使用 Vue:

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

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

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

使用全局架构

上面的链接加载了 Vue 的全局构建,其中所有顶级 API 都作为全局 Vue 对象的属性公开。这是使用全局构建的完整展示示例:

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
 
<div id="app">{{ message }}</div>
 
<script>
  const { createApp } = Vue
 
  createApp({
    data() {
      return {
        message: 'Hello Vue!'
      }
    }
  }).mount('#app')
</script>

使用 ES 模块构建

在文档的其余部分,我们将主要使用 ES 模块语法。大多数现代浏览器现在都支持 ES 模块,因此我们可以通过原生 ES 导入,如下方所用:

<div id="app">{{ message }}</div>
 
<script type="module">
  import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
 
  createApp({
    data() {
      return {
        message: 'Hello Vue!'
      }
    }
  }).mount('#app')
</script>

请注意,我们正在使用 <script type="module">,导入的 CDN URL 指向 Vue 的 ES 模块构建

启动导航地图 (Import Maps)

在上面的示例中,我们从完整的 CDN URL 导入,但在文档的其他部分,您将看到如下代码:

import { createApp } from 'vue'

我们可以使用 导入地图 (Import Maps) 告诉浏览器 vue 应该从哪个位置导入:

<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 } from 'vue'
 
  createApp({
    data() {
      return {
        message: 'Hello Vue!'
      }
    }
  }).mount('#app')
</script>

您还可以将其他依赖项的条目添加到导入地图中 - 但请确保它们指示您使用的库的 ES 模块版本。

  • 导入地图浏览器支持: 基于 Chromium 的浏览器默认支持导入地图,因此我们建议在学习过程中使用 Chrome 或 Edge。

生产使用注意事项

到目前为止的演示使用的是 Vue 的开发版本——如果您打算在产品中使用来自 CDN 的 Vue,请务必查看 生产目录指南。

拆分模块

随着我们深入研究指南,我们可能需要将代码拆分为单独的 JavaScript 文件,以方便管理。例如:

index.html

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

my-component.js

export default {
  data() {
    return { count: 0 }
  },
  template: `<div>count is {{ count }}</div>`
}

注意: 如果直接在浏览器中打开了上面的 index.html,它会抛出一个错误,因为 ES 模块不能通过 file:// 协议工作。为了使其工作,你需要使用本地 HTTP 服务器通过 http:// 协议提供 index.html

要启动一个本地的 HTTP 服务器,请先安装 Node.js,然后从命令行在 HTML 文件所在文件夹下运行:

npx serve

你也可以使用其他任何可以基于正确的 MIME 类型服务静态文件的 HTTP 服务器。

内联组件模板提示

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

在没有构建步骤的情况下使用 Composition API

组合式 API 的许多示例将使用 <script setup> 语法。如果你想在无需构建的情况下使用组合式 API,请参阅 setup() 选项。

最后编辑于 2025-11-19 22:15:32
已是第一篇
下一篇 创建一个应用

全部评论(0)

头像
😃 😁 😅 😂 😍 😜 😝 🤑 🥵 🥰 😙 😎 😵 😭 😱 😖 🥳 👽 🙈 🤡 😤 💣 💯 💢 ❤️ 👍 👏 👋 👌 🤏 🙏
还没有任何评论哟~
目录