vue.js
- 完整版,同时包含编译器(compiler)和运行时的版本。编译器:用来将模板字符串编译成为 JavaScript 渲染函数的代码
可以在客户端编译模板,即可以传字符串给
template
,或挂载在 public/index.html 文件里的元素上// 需要编译器
new Vue ({
template: '<div>{{ hi }}</div>'
})
vue.runtime.js
运行版,不包含编译器
- 比完整版体积小 30%
由于没有编译器,所以不能直接把字符串传给
template
,只能使用函数返回// 没有编译器
new Vue({
render(h){
return h('div', this.hi)
}
})
最好的选择是使用 vue.runtime.js +
vue-loader
, webpack 的vue-loader
会 在构建时将*.vue
文件内部的template
预编译成 JavaScript,步骤:- 将内容写在 Demo.vue 组件里
```vue
{{ n }}
- 将内容写在 Demo.vue 组件里
```vue
1. 在 main.js 里 import 组件并渲染
```javascript
import Vue from 'vue'
import Demo from './Demo.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(Demo),
}).$mount('#app')
问题:由于页面都是由 JS 创建的, public/index.html 里的内容为空,SEO(搜索引擎优化)不友好
解决办法:把关键信息写好,即把 title、description、keyword、h1、a 写好,让搜索引擎能 curl 到页面信息
<head>
<title>标题</title>
<meta name="keyword" value="关键词">
<meto name="description" value="描述"></meto>
</head>
<body>
<h1>
标题
</h1>
<a href="#">详情</a>
</body>