Skip to content
On this page

快速开始

根据你的使用场景和个人偏好,在使用 Vue 时,你可以选择是否采用构建流程。

采用构建工具

构建工具让我们能使用 Vue 单文件组件 (SFC)。Vue 官方的构建流程是基于 Vite 的,一个现代、轻量、极速的构建工具。

线上构建

你可以通过 StackBlitz 在线使用单文件组件尝试 Vue。StackBlitz 直接在浏览器里运行了基于 Vite 的构建设置,所以它和在本地设置几乎完全一致,但不需要在机器上安装任何依赖。

本地构建

前提条件

为了在机器上创建一个启用构建工具的 Vue 项目,请在命令行中运行下面的指令 (不要带上 > 符号):

> 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 formating? No / Yes

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

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

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

你现在应该已经运行起来了你的第一个 Vue 项目!下面是一些补充提示:

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

> npm run build

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

下一步>

不使用构建工具

若不想经过构建流程就可以使用 Vue,请直接复制下面的代码到一个 HTML 文件中,并在浏览器中打开它:

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

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

<script>
  Vue.createApp({
    data() {
      return {
        message: 'Hello Vue!'
      }
    }
  }).mount('#app')
</script>

上面的例子使用了全局构建版的 Vue,该版本的所有 API 都暴露在了全局变量 Vue 上。

在全局构建版可用的情况下,为保持一致性,在该文档的其余部分我们会主要使用 ES 模块语法。若想通过原生 ES 模块使用 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 } from 'vue'

  createApp({
    data() {
      return {
        message: 'Hello Vue!'
      }
    }
  }).mount('#app')
</script>

注意我们可以直接在代码中导入 'vue'——这是因为有代码块 <script type="importmap">,使用了一个名为导入映射表 (Import Maps) 的浏览器原生功能。目前只有基于 Chromium 的浏览器支持导入映射表,所以我们推荐你在学习过程中使用 Chrome 或 Edge。如果更偏爱那些还不支持导入映射表的浏览器,你可以使用 es-module-shims 来进行 polyfill。

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

不要用在生产环境

基于导入映射表的配置仅用于学习——如果你想在生产环境中使用 Vue 而不借助任何构建工具,请务必阅读生产环境部署指南

通过 HTTP 提供服务

随着对这份指南的逐步深入,我们可能需要将代码分割成单独的 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>`
}

为了使其工作,你需要通过 http:// 协议为你的 HTML 提供服务,而不是 file:// 协议。想启动一个本地的 HTTP 服务器,请先安装 Node.js,然后从命令行在 HTML 文件所在文件夹下运行 npx serve。你也可以使用其他任何可以基于正确的 MIME 类型服务静态文件的 HTTP 服务器。

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

下一步

如果你尚未阅读简介,我们强烈推荐你在移步到后续文档之前返回去阅读一下。

快速开始 has loaded