針對先前的 webpack 相關設定,接續進行 vue 開發環境的安裝。


webpack 的 vue 環境安裝套件

–save-dev (開發環境) 套件

在 npm 安裝在 dev 環境下,使用到的 webpack 工具有

  • vue-loader
  • vue-template-compiler
  • vue-html-loader
  • vue-style-loader

在課程講義中是一個工具就列一個指令,這樣要輸入多行,而也可以一口回將所有工具透過一行指令完成。

–save (生產環境) 套件

vue.js 實體,直接安裝於生產模式下,當 webpack 打包生產環境後,也就是執行指令時要完整的將框架封裝在模組內。


VScode 擴充 Vuter

開發 vue.js 的套件,Vuter 點按這裡


調整專案資料夾結構

src/ 資料夾下多開啟新資料夾 components,用來放置 .vue 檔。

將原本的注入點 entry src/js/index.js 檔,移動到 src/ 的資料夾下。

新增 vue.js 進入點檔案,同樣在 src/ 資料夾下多加入 App.vue 檔。


webpack.config.js 檔設定 vue-loader 與 Scss

vue 的開撥環境,主要就是以 webpack 用來編譯 .vue 檔,

引入 VueLoaderPlugin

透過 npm 將 vue 實體下載完成後,接著開啟 webpack.config.js 檔進行相關設定。

在 vue-cli 官方文件中,有介紹以 webpack 的方式使用 vue-loader

webpack.config.js 開頭處加上引入 vue-loader,方面的方式選一引入 vue-loader。

加入 vue-loader 跟 vue-style-loader,移除 include 設定

因為要將 .vue 檔透過 webpack 進行編譯,接著在 webpack 裡的 module: { rules: [] } 的 loader 的部分,再多加入 .vue 的設定。

Scss 由 style-loader 改用 vue-style-loader

原本的 style-loader 就是將 css 注入到 webpack 的 JS 裡,但使用 vue 的方式是使用 vue-style-loader
在 Scss 的部份修改後如下。

includeexclude 不使用是因為,透過 .vue 檔中的 <style lang="scss" scoped></style> 中的 Scss,在透過 exclude: path.resolve('./node_modules') 不解析路徑與只有取用 Scss 路徑 include: path.resolve('src/scss') 的情形下,Scss 會在限定路徑的情形下執行到 .vue 檔中,解析 Scss 會無法處理 App.vue 檔中的 Scss。

透過 new VueLoaderPlugin 將 vue

webpack.config.js 最後方,在 plugins:[} 設定中加入前面引入的 VueLoaderPlugin,以新建構函式的方式透過 new VueLoaderPlugin(), 建立出新的建構函式。


Vue.js 於 index.js 注入點的設定

index.js 加入 vue 本體與 vue 注入點 App.vue 檔的設定

在注入點 index.js 檔中加入以下設定

  • import Vue from 'vue';:為 vue 的本體
  • import App from 'App.vue';App.vue 注入點的設定。
  • import 'index.scss';:透過 index.js 注入點最後由 vue-style-loader 將 Scss 由 JS 把樣式注入畫面

以上完成接著加入就是注入點 index.js 後方加入實體操作 DOM 元素的對象。


index.html 檔中指定 #app 為 vue.js 實體操作 DOM 元素對象

在轉換 HTML 樣版的設定,需要先確任注入點的 index.js 檔,有沒有由 new HtmlWebpackPlugin({})chunks: ['vendor', 'index'], 設定中有引入 index.js 於主要的 index.html 一頁式 SPA 的頁面中。

index.html 檔中,透過 vue.js 本體產生實體的動態操作 DOM 元素。
接著前往 index.html 在 HTML 結構中加入綁定元素 #app<body></body> 之間。


設定 vue.js 注入點 App.vue 檔

App.vue 的注入點,主要以 vue 三個處理部份 <script><template><style lang="scss" scoped> 為主,

以上設定都完成後,輸入指令 npm run dev 啟動 webpack-dev-server 開啟瀏覽器,畫面上出現在 App.vue 檔中的 data 的 {{ text }} 變數,印出在畫面上的話,這就表示成功將 vue.js 透過 webpack 整合執行編譯。