入手mpvue之一:快速搭建一個(gè)mpvue結(jié)構(gòu)并新建一個(gè)組件后,小程序報(bào)錯(cuò)未正確調(diào)用page或page[]未發(fā)現(xiàn)組件

    背景:

    ? 公司項(xiàng)目重構(gòu),要把之前用wepy做的小程序重新用mpvue來做,短期來說又是一次陣痛,又需要一個(gè)過渡期來適應(yīng)新的框架,但長(zhǎng)期來說還是值得的,因?yàn)橐院笠龆喽诉m配的時(shí)候可以只用一套代碼,微調(diào)下就行了,相對(duì)來說成本更低。愛掏網(wǎng) - it200.com

    實(shí)戰(zhàn):

    快速構(gòu)建項(xiàng)目:

    # 1. 先檢查下 Node.js 是否安裝成功
    $ node -v
    v8.9.0
    
    $ npm -v
    5.6.0
    
    # 2. 由于眾所周知的原因,可以考慮切換源為 taobao 源
    $ npm set registry https://registry.npm.taobao.org/
    
    # 3. 全局安裝 vue-cli
    # 一般是要 sudo 權(quán)限的
    $ npm install --global vue-cli
    
    # 4. 創(chuàng)建一個(gè)基于 mpvue-quickstart 模板的新項(xiàng)目
    # 新手一路回車選擇默認(rèn)就可以了
    $ vue init mpvue/mpvue-quickstart my-project
    
    # 5. 安裝依賴,走你
    $ cd my-project
    $ npm install
    $ npm run dev

    安裝好后,如果有報(bào)錯(cuò)就解決報(bào)錯(cuò),把報(bào)錯(cuò)信息復(fù)制丟到百度,一般都有清晰的解讀的,

    如果有警告的話不用管,一般就是提示你有什么東西要升級(jí),或者什么插件改名字了。愛掏網(wǎng) - it200.com

    然后用微信開發(fā)者工具打開,會(huì)顯示一個(gè)小demo,注意微信開發(fā)者工具只是用來做調(diào)試的,

    我們需要用別的編輯器打開建好的項(xiàng)目。愛掏網(wǎng) - it200.com我習(xí)慣上是用webstorm。愛掏網(wǎng) - it200.com


    那么我們現(xiàn)在要加上一些我們自己的業(yè)務(wù)了:

    首先,我們要找到src根目錄下的main.js,這個(gè)文件就類似于原生小程序里的最外層的app.vue,

    我們可以在這里配置小程序的一些基本配置。愛掏網(wǎng) - it200.com

    我們需要在小程序下方加一個(gè)tabbar,一般的項(xiàng)目都會(huì)用的上這個(gè)菜單欄的。愛掏網(wǎng) - it200.com

    export default {
      // 這個(gè)字段走 app.json
      config: {
        // 頁面前帶有 ^ 符號(hào)的,會(huì)被編譯成首頁,其他頁面可以選填,我們會(huì)自動(dòng)把 webpack entry 里面的入口頁面加進(jìn)去
        pages: ['pages/logs/main', '^pages/index/main','pages/friends/main'],
        window: {
          backgroundTextStyle: 'light',
          navigationBarBackgroundColor: '#fff',
          navigationBarTitleText: 'WeChat',
          navigationBarTextStyle: 'black'
        },
        tabBar: {
          color: "#8a8a8a",
          selectedColor: "#017cc0",
          backgroundColor: "#f8f8f8",
          list: [
            {
              pagePath: "pages/index/main",
              text: "首頁",
              // "iconPath": "images/home-gray.png",
              // "selectedIconPath": "images/home-blue.png"
            },
            {
              pagePath: "pages/friends/main",
              text: "校友圈",
              // iconPath: "images/earth-gray.png",
              // selectedIconPath: "images/earth-blue.png"
            },
            {
              pagePath: "pages/logs/main",
              text: "我",
              // iconPath: "images/me-gray.png",
              // selectedIconPath: "images/me-blue.png"
            }
          ]
        }
      }
    }

    紅色部分是我新加的,也就是說我需要新建一個(gè)friends組件,如下:在fiends組件里新建兩個(gè)文件


    建好以后我們,npm run dev,運(yùn)行試一下效果,這時(shí)小程序那邊報(bào)錯(cuò):


    這個(gè)原因是我們生成的fiiends/main.js里面是空的,我們需要在這個(gè)文件里面加入一些東西,

    創(chuàng)建和掛載根實(shí)例。愛掏網(wǎng) - it200.com從而讓整個(gè)應(yīng)用都有路由功能:

    import Vue from 'vue' import App from './index'  const app = new Vue(App)
    app.$mount()


    這時(shí)我們的效果就出來了,并且小程序也不報(bào)錯(cuò)了



    另外假如小程序報(bào)錯(cuò)是:

    tabBar[1].pagePath "pages/friends/index" 需在 pages 數(shù)組中

    這時(shí)我們就要看下是不是路徑給配錯(cuò)了:

    比如:

    pagePath: "pages/friends/index",要改成
    pagePath: "pages/friends/main"

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評(píng)論
    更多 網(wǎng)友評(píng)論0 條評(píng)論)
    暫無評(píng)論

    返回頂部

    主站蜘蛛池模板: 一区二区在线视频观看| 国产一区二区精品久久岳√| 国产激情з∠视频一区二区| 精品久久一区二区| 中日av乱码一区二区三区乱码| 亚洲人成人一区二区三区| 久久一区二区三区精品| 97一区二区三区四区久久 | 立川理惠在线播放一区| 亚洲男人的天堂一区二区| 国产一区二区免费视频| 国产精品一区二区久久精品涩爱| 天天视频一区二区三区| 国产一区二区三区夜色| 极品人妻少妇一区二区三区| 国产女人乱人伦精品一区二区| 一区二区三区免费高清视频| 日韩电影一区二区三区| 国产综合视频在线观看一区| 国产免费无码一区二区| 亚洲一区二区无码偷拍| 一区二区三区国产| 无码aⅴ精品一区二区三区浪潮| 亚洲视频在线观看一区| 亚洲视频免费一区| 日韩精品无码久久一区二区三| 久久久久女教师免费一区| 国产吧一区在线视频| 亚洲国产精品一区二区三区久久| 99久久精品国产一区二区成人| 国产激情一区二区三区在线观看| 亚洲日韩精品一区二区三区无码 | 在线精品亚洲一区二区三区| 久久久老熟女一区二区三区| 日韩精品一区二区午夜成人版| 91精品国产一区| 国产成人无码一区二区在线观看 | 中文字幕一区二区区免| 欧美日本精品一区二区三区| 国产内射在线激情一区 | 久久久国产一区二区三区|