通過html文件來使用Vue的單文件組件形式詳解
非單文件組件
可以理解為是通過 html 文件來使用 Vue。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div id="app"></div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
},
template: '<div id="app">{{ message }}</div>'
})
</script>
</body>
</html>這種方式在很多中小規(guī)模的項目中運作的很好,在這些項目里 JavaScript 只被用來加強特定的視圖。但當在更復雜的項目中,或者你的前端完全由 JavaScript 驅(qū)動的時候,下面這些缺點將變得非常明顯。
非單文件組件缺點
- 全局定義 (Global definitions) 強制要求每個 component 中的命名不得重復
- 字符串模板 (String templates) 缺乏語法高亮,在 HTML 有多行的時候,需要用到丑陋的 \
- 不支持 CSS (No CSS support) 意味著當 HTML 和 JavaScript 組件化時,CSS 明顯被遺漏
- 沒有構(gòu)建步驟 (No build step) 限制只能使用 HTML 和 ES5 JavaScript,而不能使用預處理器,如 Sass 和 Babel
單文件組件
文件擴展名為 .vue 的 single-file components (單文件組件) 為以上所有問題提供了解決方法,并且還可以使用 webpack 或 Browserify 等構(gòu)建工具。
<template>
<div>
{{ message }}
</div>
</template>
<script>
export default {
data() {
return {
message: 'hello world'
}
}
}
</script>這些特定的語言只是例子,你可以只是簡單地使用 Babel、TypeScript、SCSS、PostCSS 或者其他任何能夠幫助你提高生產(chǎn)力的預處理器。
單文件組件一般可以通過 Vue CLI 腳手架快速搭建一個項目,并且已經(jīng)幫你配置好了 Babel、Webpack 熱更新等功能。
后續(xù)所有和 Vue 相關(guān)的文章都會以單文件組件的形式來舉例,更多關(guān)于Vue單文件組件形式的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue-router中hash模式與history模式的區(qū)別詳解
這篇文章主要給大家介紹了關(guān)于Vue-router中hash模式與history模式區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
在Vue中用canvas實現(xiàn)二維碼和圖片合成海報的方法
這篇文章主要介紹了在Vue中用canvas實現(xiàn)二維碼和圖片合成海報的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06

