最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-cli實(shí)現(xiàn)多頁面多路由的示例代碼

 更新時間:2018年01月30日 09:49:28   作者:chen1218chen  
本篇文章主要介紹了vue-cli實(shí)現(xiàn)多頁面多路由的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

項(xiàng)目下載地址 vue-cli多頁面多路由項(xiàng)目示例 :vue+webpack+vue-router+vuex+mock+axios

Usage

This is a project template for vue-cli.

github上找到某大神的一個基于vue-cli模板的vueAdmin后臺管理的模板,根據(jù)項(xiàng)目需求改成一個多頁面多路由的vue項(xiàng)目。

PC端:后臺管理頁面,單獨(dú)的頁面入口,單獨(dú)的路由。

移動端:業(yè)務(wù)展示頁面,單獨(dú)的頁面入口,單獨(dú)的路由。

踩了無數(shù)的坑,終于是初見效果了,隨后繼續(xù)優(yōu)化更新

Install

# install dependencies
npm install

# serve with hot reload at localhost:8088
npm run dev

# build for production with minification
npm run build

使用Nginx服務(wù)器進(jìn)行訪問,地址如下:

PC端 http://localhost/modules/index.html

移動APP http://localhost/modules/index.html

多頁面配置

vue2.0版本多頁面入口,是由webpack配置來完成的,我的項(xiàng)目文件結(jié)構(gòu)如下

  webpack
   |---build
   |---config
   |---dist 
   |---route 路由
   |---src
    |---api axios請求
    |---assets 資源
    |---common 公共js資源目錄
    |---components組件
    |---modules各個模塊
     |---index  index模塊
      |---views 組件
      |---index.html
      |---index.js
      |---index.vue
     |---phone    phone模塊
      |---phone.html
      |---phone.js
      |---phone.vue
      |---phone 組件

modules下為多個頁面入口,文件名稱保持一致,如:

modules
 |---index
  |---index.html
  |---index.js

.vue文件名稱任意。

原則上這些文件名稱都可以隨意定,但由于下面entry入口函數(shù)的限定,換成其他名字可以會找不到。如果想要起其他文件名,請相應(yīng)修改getMultiEntry()函數(shù)。

until.js

until.js中添加getMultiEntry(),依賴 glob插件,需要提前下載好,until.js開始引入

//獲取多級的入口文件
exports.getMultiEntry = function (globPath) {
 var entries = {},
  basename, tmp, pathname;

 glob.sync(globPath).forEach(function (entry) {
  basename = path.basename(entry, path.extname(entry));
  tmp = entry.split('/').splice(-4);

 var pathsrc = tmp[0]+'/'+tmp[1];
 if( tmp[0] == 'src' ){
  pathsrc = tmp[1];
 }
 //console.log(pathsrc)
  pathname = pathsrc + '/' + basename; // 正確輸出js和html的路徑
  entries[pathname] = entry;
  //console.log(pathname+'-----------'+entry);
 });

 return entries;
}

~\build\webpack.base.conf.js

找到entry,添加多入口

entry:entries,

運(yùn)行、編譯的時候每一個入口都會對應(yīng)一個Chunk。 PS:終于明白這個chunk的含義了/(ㄒoㄒ)/~~

~\build\webpack.dev.conf.js

文末添加以下配置:

var pages = utils.getMultiEntry('./src/'+config.moduleName+'/**/*.html');
for (var pathname in pages) {
 // 配置生成的html文件,定義路徑等
 var conf = {
  filename: pathname + '.html',
  template: pages[pathname], // 模板路徑
  chunks: [pathname, 'vendors', 'manifest'], // 每個html引用的js模塊
  inject: true       // js插入位置
 };
 // 需要生成幾個html文件,就配置幾個HtmlWebpackPlugin對象
 module.exports.plugins.push(new HtmlWebpackPlugin(conf));
}

其中config.moduleName = 'modules'

~\build\webpack.prod.conf.js

  ...

//構(gòu)建生成多頁面的HtmlWebpackPlugin配置,主要是循環(huán)生成
var pages = utils.getMultiEntry('./src/'+config.moduleName+'/**/*.html');
for (var pathname in pages) {
 var conf = {
  filename: pathname + '.html',
  template: pages[pathname], // 模板路徑
  chunks: ['vendor',pathname], // 每個html引用的js模塊
  inject: true,       // js插入位置
 hash:true
 };

 webpackConfig.plugins.push(new HtmlWebpackPlugin(conf));
}
module.exports = webpackConfig

其中config.moduleName = 'modules'

至此,多頁面的配置已經(jīng)完成。訪問地址為:
index : http://localhost:8088/modules/index.html
phone : http://localhost:8088/modules/phone.html

Browser Support

Modern browsers and Internet Explorer 10+.

snapshots

License

MIT

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Element?el-tag標(biāo)簽圖文實(shí)例詳解

    Element?el-tag標(biāo)簽圖文實(shí)例詳解

    現(xiàn)在好多應(yīng)用場景里會有一些需要給文章打標(biāo)簽等類似的操作,下面這篇文章主要給大家介紹了關(guān)于Element?el-tag標(biāo)簽的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • vuex的幾個屬性及其使用傳參方式

    vuex的幾個屬性及其使用傳參方式

    這篇文章主要介紹了vuex的幾個屬性及其使用傳參,本文結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • 解決vue props傳Array/Object類型值,子組件報(bào)錯的情況

    解決vue props傳Array/Object類型值,子組件報(bào)錯的情況

    這篇文章主要介紹了解決vue props傳Array/Object類型值,子組件報(bào)錯的情況,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 解決element?ui?cascader?動態(tài)加載回顯問題

    解決element?ui?cascader?動態(tài)加載回顯問題

    這篇文章主要介紹了element?ui?cascader?動態(tài)加載回顯問題解決方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • vue3.0透傳屬性和事件的使用方式舉例

    vue3.0透傳屬性和事件的使用方式舉例

    這篇文章主要給大家介紹了關(guān)于vue3.0透傳屬性和事件使用的相關(guān)資料,透傳attribute指的是傳遞給一個組件,卻沒有被該組件聲明為props或emits的attribute或者v-on事件監(jiān)聽器,需要的朋友可以參考下
    2024-01-01
  • vue新vue-cli3環(huán)境配置和模擬json數(shù)據(jù)的實(shí)例

    vue新vue-cli3環(huán)境配置和模擬json數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇vue新vue-cli3環(huán)境配置和模擬json數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue router-view的嵌套顯示實(shí)現(xiàn)

    vue router-view的嵌套顯示實(shí)現(xiàn)

    本文主要介紹了vue router-view嵌套顯示,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Vue 自定義指令詳解

    Vue 自定義指令詳解

    本文介紹了如何在Vue中定義和使用自定義指令,包括指令的注冊、鉤子函數(shù)、參數(shù)以及常見指令的封裝,如v-copy、v-longpress等,自定義指令在處理某些底層DOM操作時非常便捷,感興趣的朋友一起看看吧
    2025-01-01
  • vue2利用html2canvas+jspdf動態(tài)生成多頁P(yáng)DF方式

    vue2利用html2canvas+jspdf動態(tài)生成多頁P(yáng)DF方式

    利用vue2結(jié)合html2canvas和jspdf,可以實(shí)現(xiàn)前端頁面內(nèi)容導(dǎo)出為PDF的功能,首先需要安裝相關(guān)依賴,使用html2canvas將指定div內(nèi)容捕捉為圖像,再通過jspdf將圖像轉(zhuǎn)換為PDF
    2024-09-09
  • Vue WatchEffect函數(shù)創(chuàng)建高級偵聽器

    Vue WatchEffect函數(shù)創(chuàng)建高級偵聽器

    watchEffect傳入的函數(shù)會被立即執(zhí)行一次,并且在執(zhí)行的過程中會收集依賴;其次,只有收集的依賴發(fā)生變化時,watchEffect傳入的函數(shù)才會再次執(zhí)行
    2023-03-03

最新評論

泰兴市| 拉萨市| 荃湾区| 逊克县| 锡林郭勒盟| 旅游| 涞源县| 呼伦贝尔市| 津市市| 重庆市| 曲靖市| 镇赉县| 益阳市| 正安县| 屏边| 泸定县| 万全县| 新巴尔虎左旗| 中西区| 启东市| 厦门市| 盐源县| 汕尾市| 元江| 富蕴县| 阜新市| 龙川县| 万安县| 佳木斯市| 泸州市| 腾冲县| 友谊县| 芜湖市| 麻栗坡县| 长泰县| 黎城县| 广西| 息烽县| 林西县| 临夏县| 鹤壁市|