<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          uniapp中的一個完全相似Vue-router的路由插件

          2020-3-4    seo達人



          1.引入

          三種引用方式

          第一種 npm安裝

          項目根目錄命令行執行



          npm install uni-simple-router

          1

          第二種 插件市場(使用HBuilderX導入插件)



          第三種 ZIP下載 解壓



          2.項目中引入



          import Vue from 'vue'

          import {RouterMount} from 'uni-simple-router';

          import Router from './router'

          Vue.use(Router)

          //...后續代碼



          引入之后就開始我們的正式使用。

          第一步先在項目的根目錄下創建一個router文件夾。

          格式為:



          router

          |---modules

          |---index.js

          |---index.js



          router中的modules文件夾是用來放路由表模板的。modules中的index.js內容為



          const files = require.context('.', false, /.js$/)

          const modules = []



          files.keys().forEach(key => {

            if (key === './index.js') return

            const item = files(key).default

            modules.push(...item)

          })



          export default modules



          這個文件用來把同目錄下的js文件讀取并整合所有路由。

          在這里創建的js文件代碼示例:



          const home = [

          {

                  //注意:path必須跟pages.json中的地址對應,最前面別忘了加'/'哦

                path: '/pages/home/index',

                aliasPath:'/',  //對于h5端你必須在首頁加上aliasPath并設置為/

                name: 'index',

                  meta: {

                  title: '首頁',

              },

              },

              {

              path: '/pages/home/list',

                  name: 'list',

                  meta: {

                  title: '列表',

              },

          },

          ]

          export default home



          第二步配置router下的index.js



          import modules from './modules'

          import Vue from 'vue'

          //這里僅示范npm安裝方式的引入,其它方式引入請看最上面【安裝】部分

          import Router from 'uni-simple-router'



          Vue.use(Router)

          //初始化

          const router = new Router({

              routes: [...modules]//路由表

          });



          //全局路由前置守衛

          router.beforeEach((to, from, next) => {

            next()

          })

          // 全局路由后置守衛

          router.afterEach((to, from) => {

          })

          export default router;



          第三步 就是配置main.js



          import Vue from 'vue'

          import App from './App'

          import router from './router'

          import { RouterMount } from 'uni-simple-router'



          App.mpType = 'app'



          const app = new Vue({

          ...App

          })

          //v1.3.5起 H5端 你應該去除原有的app.$mount();使用路由自帶的渲染方式

          // #ifdef H5

          RouterMount(app,'#app');

          // #endif



          // #ifndef H5

          app.$mount(); //為了兼容小程序及app端必須這樣寫才有效果

          // #endif



          這樣你的路由就配置好了。



          如果不想繁瑣的配置modules下的文件,可以用webpack自動構建路由表

          安裝



          npm install uni-read-pages

          1

          配置 vue.config.js (可能需要手動創建)



          const TransformPages = require('uni-read-pages')

          const tfPages = new TransformPages({

          //如果你需要獲取更多參數,那么請配置參數!

          includes:['path','name','meta']

          })

          module.exports = {

              configureWebpack: {

                  plugins: [

                      new tfPages.webpack.DefinePlugin({

                          ROUTES: JSON.stringify(tfPages.routes)

                      })

                  ]

              }

          }



          然后去pages.json里面更改配置,加入所需要的內容

          最后配置路由表



          import Vue from 'vue'

          //這里僅示范npm安裝方式的引入,其它方式引入請看最上面【安裝】部分

          import Router from 'uni-simple-router'



          Vue.use(Router)

          //初始化

          const router = new Router({

              routes:ROUTES //路由表

          });



          //全局路由前置守衛

          router.beforeEach((to, from, next) => {

            next()

          })

          // 全局路由后置守衛

          router.afterEach((to, from) => {

          })

          export default router;




          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合