vue+webpack打造todo應用

Jasonccj發表於2018-12-29
vue+webpack打造todo應用

專案搭建文件(每步程式碼配置帶有詳細註釋)

線上展示:http://118.24.144.217/
專案地址:github.com/Jasonccj/vu…
部落格地址:juejin.im/post/5c26e9…
慕課地址:www.imooc.com/learn/935

1.vue+webpack專案工程配置

由於本程式碼是採用webpack3.10.0. 與webpack4.x有很多差異性,夥伴們不要因為版本問題而停滯不前
具體版本可以在package.json中檢視,具體細節都有超詳細註釋,歡迎小夥伴們提出寶貴的意見,一起交流,讓我們一起提高我們的前端技能

1.1 專案基本配置

npm init 初始化一個npm專案
npm i webpack@3.10.0 vue@2.5.13 vue-loader@13.6.0 安裝webpack和vue,使用vue要安裝vue-loader
npm i css-loader@0.28.7 vue-template-compiler@2.5.13 根據終端WARN提示安裝css-loader,因為vue-loader依賴css-loader //針對各版本做了詳細指定,由於更新過快,避免版本差異性問題,故指定了版本

在app.vue中書寫基本的vue結構

首先在webpack.config.js設定入口entry
宣告我們的入口檔案index.js

示例中app.vue實際是一個元件,元件是不能直接掛載到我們的html中去,需要在index.js中掛載

webpack.config.js同樣設定出口檔案bundle.js及存放路徑

配置完後,在webpack.config.js中配置build指令碼, --config 指定我們的config檔案 因為在這裡面寫,當你呼叫時才會呼叫這個專案裡面的webpack,否則將會呼叫全域性的webpack,全域性webpack和專案中的版本可能存在差異,建議使用這種方式會好一點

1.2 各種靜態資源的載入

webpack對其他型別的檔案處理,可在配置檔案中配置rules規則.
同樣根據配置中的處理的loader都要安裝.
npm i style-loader@0.19.1 url-loader@0.6.2 file-loader@1.1.6

stylus的css前處理器 npm i stylus-loader@3.0.1 stylus@0.54.5
同理其他的像sass,less等其他的前處理器都可以類似的方法去使用

1.3 webpack-dev-server的配置

npm i webpack-dev-server@2.9.1
webpack-dev-server在開發環境中會給我們帶來與webpack不一樣的效果,用的都是同一個配置檔案

    "build": "webpack --config webpack.config.js",
    "dev": "webpack-dev-server --config webpack.config.js"
複製程式碼

同一個配置檔案,那麼其中必然會根據一個環境變數判斷,來判斷是開發環境還是正式環境
NODE_ENV就是這個環境變數,在linux下 直接NODE_ENV=production,在windows環境下 需要set NODE_ENV=production,解決這種跨平臺設定的差異性,我們可以安裝cross-env@5.1.3
npm i cross-env@5.1.3

    "build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
    "dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"
複製程式碼

在webpack.config.js配置好我們的測試環境後,我們還需要引入一個html-webpack-plugin,用於將我們打包好後的js融入到我們的HTml中去
npm i html-webpack-plugin@2.30.1
完成webpack.config.js中後,你便可以使用npm run dev見證奇蹟的時刻了

專案實戰

npm i post i postcss-loader@2.0.9 autoprefixer@7.2.3 babel-loader@7.1.2 babel-core@6.26.0
新建postcss和babel的配置檔案 並配置這兩個檔案

專案業務

詳見原始碼

配置css單獨分離打包及其他一些測試和生產環境的區別

安裝extract-text-webpack-plugin
npm i extract-text-webpack-plugin@3.0.2

打包類庫程式碼及hash優化

配置部分截圖展示(僅用於展示,每步程式碼配置帶有詳細註釋)

vue+webpack打造todo應用

小計

最後

  • 喜歡的記得點個star.鼓勵一下,謝謝!
  • 微信 cuixianseni
  • qq群號 424072183
vue+webpack打造todo應用

相關文章