mpvue 單文件頁面配置詳解
前言
mpvue 的出現(xiàn)把 vue 的開發(fā)體驗(yàn)帶到了小程序這個(gè)平臺(tái)中,但其目錄結(jié)構(gòu)與傳統(tǒng)的 vue 項(xiàng)目卻并不完全一致,一個(gè)典型的頁面包含以下三個(gè)文件:
index.vue // 頁面文件 main.js // 打包入口,完成 vue 的實(shí)例化 main.json // 小程序特有的頁面配置,早期寫在 main.js 文件中
其中,每個(gè)頁面的 main.js 文件基本都是一致的,可通過mpvue-entry 來自動(dòng)生成(weex 也有類似的處理),而 main.json 我個(gè)人認(rèn)為直接在 vue 文件中配置更為合適,于是開發(fā)了mpvue-config-loader 來加以實(shí)現(xiàn)
本文將介紹如何在 mpvue 官方模板的基礎(chǔ)上,通過配置 mpvue-config-loader 來實(shí)現(xiàn)在 vue 文件內(nèi)書寫小程序的頁面配置
步驟
初始化項(xiàng)目
vue init mpvue/mpvue-quickstart my-project
安裝依賴
npm i mpvue-config-loader -D
or
yarn add mpvue-config-loader -D
修改打包配置
build/webpack.base.conf.js
module.exports = { module: { rules: [ { test: /\.vue$/, loader: 'mpvue-loader', options: vueLoaderConfig }, + { + test: /\.vue$/, + loader: 'mpvue-config-loader', + exclude: [resolve('src/components')], + options: { + entry: './main.js' + } + } ... ] } ... plugins: [ new MpvuePlugin(), - new CopyWebpackPlugin([{ - from: '**/*.json', - to: '' - }], { - context: 'src/' - }), ... ] }
修改頁面配置
src/App.vue - 復(fù)制 app.json 中的內(nèi)容,并修改格式以符合 eslint 規(guī)范
<script> export default { + config: { + pages: [ + 'pages/index/main', + 'pages/logs/main', + 'pages/counter/main' + ], + window: { + backgroundTextStyle: 'light', + navigationBarBackgroundColor: '#fff', + navigationBarTitleText: 'WeChat', + navigationBarTextStyle: 'black' + } + }, created () { ... } }
src/pages/logs/index.vue - 同上
import { formatTime } from '@/utils/index' import card from '@/components/card' export default { + config: { + navigationBarTitleText: '查看啟動(dòng)日志' + }, ... }
- src/app.json - 刪除
- src/pages/logs/main.json - 刪除
啟動(dòng)運(yùn)行
npm run dev
or
yarn dev
其他
使用 mpvue-entry 的項(xiàng)目暫不建議使用該模塊,后期會(huì)直接集成作為可選模式之一
該模塊的實(shí)現(xiàn)方式有以下兩種可選,但由于前者在編輯器中暫無法高亮,所以采用了第二種方式
- 自定義標(biāo)簽 <config></config>
- <script></script> 標(biāo)簽導(dǎo)出對(duì)象的 config 屬性
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue 配置多頁面應(yīng)用的示例代碼
- vue 2.8.2版本配置剛進(jìn)入時(shí)候的默認(rèn)頁面方法
- Vue項(xiàng)目全局配置頁面緩存之按需讀取緩存的實(shí)現(xiàn)詳解
- Vue單頁及多頁應(yīng)用全局配置404頁面實(shí)踐記錄
- vue配置多頁面的實(shí)現(xiàn)方法
- WebPack配置vue多頁面的技巧
- vue-cli創(chuàng)建的項(xiàng)目,配置多頁面的實(shí)現(xiàn)方法
- 詳解webpack編譯多頁面vue項(xiàng)目的配置問題
- 詳解vue-cli + webpack 多頁面實(shí)例配置優(yōu)化方法
- vue項(xiàng)目添加多頁面配置的步驟詳解
相關(guān)文章
Vue+Echarts報(bào)錯(cuò)Cannot?set?properties?of?undefined?(settin
這篇文章主要介紹了Vue+Echarts報(bào)錯(cuò)Cannot?set?properties?of?undefined?(setting?‘plate‘)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue實(shí)現(xiàn)登陸頁面開發(fā)實(shí)踐
本文主要介紹了vue實(shí)現(xiàn)登陸頁面開發(fā)實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05vue實(shí)現(xiàn)卡片翻轉(zhuǎn)輪播展示
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)卡片翻轉(zhuǎn)輪播展示,同時(shí)在翻轉(zhuǎn)時(shí)切換數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01Vue.js 2.0 移動(dòng)端拍照壓縮圖片預(yù)覽及上傳實(shí)例
這篇文章主要介紹了Vue.js 2.0 移動(dòng)端拍照壓縮圖片預(yù)覽及上傳實(shí)例,本來移動(dòng)端開發(fā)H5應(yīng)用,準(zhǔn)備將mui框架和Vue.js+vue-router+vuex 全家桶結(jié)合起來使用2017-04-04vue3的ref、isRef、toRef、toRefs、toRaw詳細(xì)介紹
本文詳細(xì)講解了vue3的ref、isRef、toRef、toRefs、toRaw,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09Vue3中進(jìn)行二維碼的生成與解碼實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Vue3中進(jìn)行二維碼的生成與解碼實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03基于Vue實(shí)現(xiàn)tab欄切換內(nèi)容不斷實(shí)時(shí)刷新數(shù)據(jù)功能
在項(xiàng)目開發(fā)中遇到這樣需求,就是有幾個(gè)tab欄,每個(gè)tab欄對(duì)應(yīng)的ajax請(qǐng)求不一樣,內(nèi)容區(qū)域一樣,內(nèi)容為實(shí)時(shí)刷新數(shù)據(jù),實(shí)現(xiàn)方法其實(shí)很簡(jiǎn)單的,下面小編給大家?guī)砹嘶赩ue實(shí)現(xiàn)tab欄切換內(nèi)容不斷實(shí)時(shí)刷新數(shù)據(jù)功能,需要的朋友參考下吧2017-04-04