在不少Vue項目中,咱們使用 Vue.component
來定義全局組件,緊接着用new Vue({ el: '#container '})
在每一個頁面內指定一個容器元素。javascript
這種方案在只是使用 JavaScript 加強某個視圖的中小型項目中表現得很好。然而在更復雜的項目中,或者當你的前端徹底採用 JavaScript 驅動的時候,如下弊端就顯現出來:css
\
文件擴展名爲 .vue
的 single-file components(單文件組件) 爲以上全部問題提供瞭解決方法,而且還可使用 Webpack 或 Browserify 等構建工具。html
這是一個文件名爲 Hello.vue
的簡單實例:前端
如今咱們得到:vue
正如咱們說過的,咱們可使用預處理器來構建簡潔和功能更豐富的組件,好比 Jade,Babel (with ES2015 modules),和 Stylus。java
這些特定的語言只是例子,你能夠只是簡單地使用 Buble,TypeScript,SCSS,PostCSS - 或者其餘任何可以幫助你提升生產力的預處理器。webpack
有了 .vue
組件,咱們就進入了高級 JavaScirpt 應用領域。若是你沒有準備好的話,意味着還須要學會使用一些附加的工具:git
Node Package Manager (NPM): 閱讀 Getting Started guide 直到 10: Uninstalling global packages章節.github
Modern JavaScript with ES2015/16: 閱讀 Babel 的 Learn ES2015 guide. 你不須要馬上記住每個方法,可是你能夠保留這個頁面以便後期參考。web
在你花一些時日瞭解這些資源以後,咱們建議你參考 webpack-simple 。只要遵循指示,你就能很快的運行一個用到 .vue
組件,ES2015 和 熱重載( hot-reloading ) 的Vue項目!
這個模板使用 Webpack,一個能將多個模塊打包成最終應用的模塊打包工具。 這個視頻介紹了Webpack的更多相關信息。 學習了這些基礎知識後, 你可能想看看 這個在 Egghead.io上的 高級 Webpack 課程.
在 Webpack中,每一個模塊被打包到 bundle 以前都由一個相應的 「loader」 來轉換,Vue 也提供 vue-loader 插件來執行 .vue
單文件組件 的轉換. 這個 webpack-simple 模板已經爲你準備好了全部的東西,可是若是你想了解更多關於 .vue
組件和 Webpack 如何一塊兒運轉的信息,你能夠閱讀 vue-loader 的文檔。
不管你更鐘情 Webpack 或是 Browserify,咱們爲簡單的和更復雜的項目都提供了一些文檔模板。咱們建議瀏覽 github.com/vuejs-templates,找到你須要的部分,而後參考 README 中的說明,使用 vue-cli 工具生成新的項目。
Webpack 中,每一個模塊在構建前被加載器轉變,Vue 官方插件 vue-loader 用來轉變 .vue
單文件組件。 webpack-simple 模板已經準備好了一切, 若是要更多瞭解 .vue
如何和 Webpack 配合工做, 請看 vue-loader 文檔