# 基础
```bash
npm create vue@latest
```
## 创建应用
### 应用配置
> **确保在挂载应用实例之前完成所有应用配置!**
- 应用级的错误处理器,用来捕获所有子组件上的错误
```javascript
app.config.errorHandler = (err) => {
/* 处理错误 */
}
```
- 注册全局资源,**注册一个组件**
```javascript
app.component('TodoDeleteButton', TodoDeleteButton)
```
### 多实例
```javascript
const app1 = createApp({
/* ... */
})
app1.mount('#container-1')
const app2 = createApp({
/* ... */
})
app2.mount('#container-2')
```
---
## 模板语法
> 如果偏好使用JavaScript,JSX 支持直接**手写渲染函数**而不采用模板。但JSX不会享受到和模板同等级别的**编译时优化**。
### 文本插值
```vue
Message: {{ msg }}
```
### 使用原始HTML,不被vue编译
```vue
Using text interpolation: {{ rawHtml }}
Using v-html directive:
```
![原始HTML](./vue3.assets/c0eed55cafc0418c813d4a6e77ed2835.png)
![安全警告](./vue3.assets/3b3bd03e11464112b94ed3afd66e7fbf.png)
### Attribute 绑定
```vue
```
### _布尔型 Attribute ???_
当 isButtonDisabled 为真值或一个空字符串 (即 `