webpack入坑之旅(五)加載vue單文件組件
需要什麽?
在經過前面的四個練習,相信已經對於webapck
有了一定的了解,現在我們就來一個綜合案例,進一步加深對於webpack
的理解。
首先我們應該思考要解析.vue
類型的文件,需要什麽樣的東西?應該按照什麽樣的步驟來?我們應該怎麽去搭建這個項目?
開始
第一步:初始化項目目錄
我們需要創建如下目錄及文件夾,最終目錄結構如下:
1
|
- dist //文件生成目錄
|
第二步:安裝項目依賴
如果你上面沒有創建package.json
文件的話,可以直接使用npm init
來初始化我們的package.json
文件的配置。
想要去編譯其他的文件比如react
,coffce
等等,就必須要加載很多對應的loader
。要想加載一個.vue
文件。當然也是同樣的道理。
建議用npm install xxx-loader --save-dev
這樣的命令一條一條的敲。在命令行中,會有提示,可以幫助理解webpack
的中的依賴管理關系。我的配置清單如下:
在實際項目中,json文件中不能出現註釋,在這裏為了方便大家了解裏面設置項的含義,就直接使用註釋的方式加載後面了。
1
|
{
|
如果你想省事的話,直接復制上面的devDependencies
,dependencies
字段,並且填寫到你的package.json
文件中。然後運行npm install
就會自動安裝所有的模塊以及依賴。
第三步:配置webpack
文件已經設置好了,接下來就到了我們關鍵的一步,配置webpack.config.js
,清單如下:
1
|
const path = require(‘path‘)
|
請詳細查看這裏面的設置,我這裏都是很簡單的配置,在你的項目中,還可以更進一步的對於入口文件和輸出文件進行更加深入的定制。
並且在這裏生成的css文件還會插到js中,有時我們需要更進一步的把它獨立出來,然後在html中引入這時就會用到webpack
的插件,在這裏先不說(因為我暫時沒用到,沒有試驗過,好像也不麻煩,可以的話下篇再試試)
第四步:編寫代碼
接下來就是我們要展示的文件的編寫了,我直接把代碼貼上來了。
index.html:
1
|
|
這裏是main.js的內容:
1
|
//es6語法:
|
這裏是app.vue:
1
|
<template>
|
第五步:修改自動刷新設置
下面再單獨的再談一下關於自動刷新的實現,首先需要說明,在上一篇博客中的自動刷新實現,是有問題的。只能改變css樣式,使顏色進行變化。對於html裏面的內容改變時,瀏覽器並不會自動刷新。
註意點一:
首先我們看到package.json
中scripts
字段中的"start": "cross-env NODE_ENV=development webpack-dev-server --open --hot"
。 這裏開啟了 熱加載 以及自動打開瀏覽器。
註意點二:
在webpack.cofig.js
中還有其余對於devServer
進行一些配置,如下:
1
|
devServer: {
|
這樣安裝設置完成之後,就有了自動局部更新了!!
結束
步驟都走完了,因為在上面的package.json
中已經進行了scripts
項的配置。運行npm start
,打開localhost:8080
可以看到設置的背景色已經出來了,去改變一下背景顏色?data?template?
看看瀏覽器會不會自動刷新?
添加
開發環境可以了,但是生產環境呢?在 webpack.config.js
我們再來增加一些配置
1
|
if (process.env.NODE_ENV === ‘production‘) {
|
然後再加一個 npm script 。 "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
運行 npm run build
我們就可以將我們剛剛開發的內容進行壓縮打包了。
如果你按照我的步驟,並且,npm包安裝沒有錯誤的話,應該就能成功了。
不行的話,請再仔細對照去看看有什麽地方沒有編寫對吧!
webpack入坑之旅(五)加載vue單文件組件