本篇文章主要介紹了詳解Vue快速零配置的打包工具-parcel,現在分享給大家,也給大家做個參考。
本文介紹了Vue快速零配置的打包工具-parcel,分享給大家,具體如下:
特性
快速打包
打包所有資源
#自動轉換
程式碼分割
#程式碼分割
模組熱替換
的錯誤記錄
如何運作Parcel 將資源樹轉換成套件(bundles) 樹。許多其它的打包工具基本上是基於 JavaScript 資源,還有附加在其上的其它格式的資源。例如,在 JS 檔案中內聯成字串。 Parcel是對檔案類型無感知的,它能以你所期待的方式那樣與任意類型的資源工作,且毋須配置。
建構資源樹
Parcel 接受單一入口資源作為輸入,可以是任意型別:JS、HTML、CSS、圖片檔案等等。在 Parcel 中定義了許多不同的資源類型,它知道如何去處理特定的檔案類型。資源會被解析,資源的依賴會被提取,資源會被轉換成最終編譯好的形態。此過程創建了一個資源樹。
建構檔案束樹一旦資源樹被建構好,資源就會被放置在檔案束樹中。首先一個入口資源會被創建成一個文件束,然後動態的 import() 會被創建成子文件束 ,這引發了代碼的拆分。當不同類型的文件資源被引入,兄弟文件束就會被創建。例如你在 JavaScript 中引入了 CSS 文件,那它就會被放置在一個與 JavaScript 文件對應的兄弟文件束中。如果資源被多於一個文件束引用,它會被提升到文件束樹中最近的公共祖先中,這樣該資源就不會被多次打包。
打包
在文件束樹被建構之後,每個文件束都會被 packager 寫到一個特定文件類型的文件中。 packagers 知道如何從每個資源中將程式碼合併起來,產生到最終被瀏覽器載入的檔案中。
設定初始化項目
npm install -g parcel mkdir xxx && cd xxx && npm init -y
轉換
Babel
npm install babel-preset-env --save-dev
根目錄設定.babelrc
{ "presets": ["env"] }
PostCSS
npm install postcss-modules autoprefixer --save-dev
根目錄配置.postcssrc
{ "modules": true, "plugins": { "autoprefixer": { "grid": true } } }
支援vue
npm install parcel-plugin-vue --save-dev
新增entry
import App from './App.vue' import router from './router/index.js' import './assets/js/rem.js' window.onload = () => { const vm = new Vue({ el: '#app', router, render: h => h(App) }) }
設定index.html
<body> <p id="app"></p> <script src="入口文件"></script> </body>
配置路由(代碼拆分--懶加載)
{ path: 'home', component: () =>import('../pages/home.vue') }
import()返回的是一個promise,所以也可以用async/await 語法,當你想在本地使用async/await 語法,請介紹babel-polyfill
區分生產環境與開發環境,配置package.json.
dev --- 開發環境
build --- 生產環境"scripts": { "dev": "parcel index.html -p 3700", "build": "parcel build index.html" }大功告成訪問http://localhost:3700/home
此demo是vue parcel grid stylus完成: parcel-vue
在vue.js中如何取得select中的value值(詳細教學)
###在JavaScript中如何實作判斷日期時間差############在vue2.0子元件中如何實作改變props值,並向父元件傳值######以上是詳細解讀Vue如何設定打包工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!