欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VUE.CLI4.0配置多頁面入口的實(shí)現(xiàn)

 更新時(shí)間:2019年11月25日 10:49:14   作者:CHICAGO  
這篇文章主要介紹了VUE.CLI4.0配置多頁面入口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

為何需要配置多頁面?

在實(shí)際工作中,肯定會(huì)遇到大型項(xiàng)目,往往一個(gè)架構(gòu)里面會(huì)開發(fā)多個(gè)應(yīng)用,而這些應(yīng)用又沒有太大的關(guān)聯(lián),但有可能會(huì)共用一些組件或者是樣式表等,那么就會(huì)出現(xiàn)一個(gè)問題,打包的時(shí)候會(huì)將這些互不相關(guān)的應(yīng)用全部打包。

而因?yàn)槟_手架VueCli所以構(gòu)建的項(xiàng)目屬于單頁面應(yīng)用,因此我們就需要手動(dòng)去配置,搭建一個(gè)多入口,多應(yīng)用的體系

需求

首頁顯示各個(gè)應(yīng)用名稱,點(diǎn)擊進(jìn)去各自應(yīng)用

實(shí)現(xiàn)

使用vue/cli生成一個(gè)vue項(xiàng)目

npm install -g @vue/cli 個(gè)人不建議直接全局安裝,因?yàn)榭赡軙?huì)對(duì)其他項(xiàng)目造成影響,所以會(huì)選擇加上 -D 來進(jìn)行本地安裝

然后 vue create project-name (使用本地安裝的記得加上 npx

 

成功創(chuàng)建之后,我們看看當(dāng)前的目錄結(jié)構(gòu)

 

這里我們需要重構(gòu)一下我們的目錄 讓他更可觀

 

配置vue.config.js

let path = require('path')
let glob = require('glob') // 用于篩選文件

// 工廠函數(shù) - 配置pages實(shí)現(xiàn)多頁面獲取某文件夾下的html與js
function handleEntry(entry) {
 let entries = {}
 let entryBaseName = ''
 let entryPathName = ''
 let entryTemplate = ''
 let applicationName = ''

 glob.sync(entry).forEach(item => {
  console.log('!!!', item)
  entryBaseName = path.basename(item, path.extname(item))
  console.log('entryBaseName:', entryBaseName)
  entryTemplate = item.split('/').splice(-3)
  console.log('entryTemplate:', entryTemplate)
  entryPathName = entryBaseName // 正確輸出js和html的路徑
  console.log('entryPathName', entryPathName)

  entries[entryPathName] = {
   entry: 'src/' + entryTemplate[0] + '/' + entryTemplate[1] + '/' + entryTemplate[1] + '.js',
   template: 'src/' + entryTemplate[0] + '/' + entryTemplate[1] + '/' + entryTemplate[2],
   title: entryTemplate[2],
   filename: entryTemplate[2]
  }
 })

 return entries
}

let pages = handleEntry('./src/applications/**?/*.html')
console.log(pages)

// 以下開始配置
module.exports = {
 lintOnSave: false, // 關(guān)掉eslint
 /**
  * baseUrl 從 3.3起廢用,使用pubilcPath代替
  * 默認(rèn)情況下,Vue CLI 會(huì)假設(shè)你的應(yīng)用是被部署在一個(gè)域名的根路徑上,例如 https://www.my-app.com/。如果應(yīng)用被部署在一個(gè)子路徑上,你就需要用這個(gè)選項(xiàng)指定這個(gè)子路徑。例如,如果你的應(yīng)用被部署在 https://www.my-app.com/my-app/,則設(shè)置 publicPath 為 /my-app/。
  * 這個(gè)值也可以被設(shè)置為空字符串 ('') 或是相對(duì)路徑 ('./'),這樣所有的資源都會(huì)被鏈接為相對(duì)路徑,這樣打出來的包可以被部署在任意路徑,也可以用在類似 Cordova hybrid 應(yīng)用的文件系統(tǒng)中。
  */
 publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
 productionSourceMap: false,
 // 入口設(shè)置
 pages,
 devServer: {
  index: '/', // 運(yùn)行時(shí),默認(rèn)打開application1頁面
  // 告訴dev-server在服務(wù)器啟動(dòng)后打開瀏覽器,將其設(shè)置true為打開默認(rèn)瀏覽器
  open: true,
  host: 'localhost',
  port: 8080,
  https: false,
  hotOnly: false,
  // 配置首頁 入口鏈接
  before: app => {
   app.get('/', (req, res, next) => {
    for (let i in pages) {
     res.write(`<a target="_self" href="/${i}">/${i}</a></br>`);
    }
    res.end()
   });
  }
 }
}
application1.js
import Vue from 'vue'
import Application1 from './application1.vue'
import router from './router'
import store from './vuex'

Vue.config.productionTip = false

new Vue({
 router,
 store,
 render: h => h(Application1)
}).$mount('#app')
application1.vue

<template>
 <div id="app">
  <a class='tips' href='application2.html'>
  Hello Im Application1,Clike me can go to Application2
  </a>
 </div>
</template>

<style lang="less">
#app {
 font-family: 'Avenir', Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
}

.tips{
 display: flex;
 justify-content: center;
 align-items:center;
 color:lightsalmon;
 font-size:20px;
 font-weight:bold;
}

</style>
application1.html

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width,initial-scale=1.0">
 <link rel="icon" href="<%= BASE_URL %>favicon.ico">
 <title>Application1</title>
</head>

<body>
 <noscript>
  <strong>We're sorry but test-my-ui doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
 </noscript>
 <div id="app"></div>
 <!-- built files will be auto injected -->
</body>

</html>

同理 application2應(yīng)用也這樣配置 運(yùn)行

npm run serve

運(yùn)行

 

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

相關(guān)文章

  • vue .then和鏈?zhǔn)秸{(diào)用操作方法

    vue .then和鏈?zhǔn)秸{(diào)用操作方法

    這篇文章主要介紹了vue .then和鏈?zhǔn)秸{(diào)用操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • vue分頁插件的使用方法

    vue分頁插件的使用方法

    這篇文章主要介紹了vue分頁插件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Vue開發(fā)過程中遇到的疑惑知識(shí)點(diǎn)總結(jié)

    Vue開發(fā)過程中遇到的疑惑知識(shí)點(diǎn)總結(jié)

    vue是法語中視圖的意思,Vue.js是一個(gè)輕巧、高性能、可組件化的MVVM庫,同時(shí)擁有非常容易上手的API。下面這篇文章主要給大家總結(jié)了Vue在開發(fā)過程中遇到的疑惑知識(shí)點(diǎn),有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 使用Vue父子組件通信實(shí)現(xiàn)todolist的功能示例代碼

    使用Vue父子組件通信實(shí)現(xiàn)todolist的功能示例代碼

    這篇文章主要給大家介紹了關(guān)于如何使用Vue父子組件通信實(shí)現(xiàn)todolist的功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案

    element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案

    本文主要介紹了element tree懶加載:load="loadNode"只觸發(fā)一次的解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Vue+Canvas繪圖使用的講解

    Vue+Canvas繪圖使用的講解

    這篇文章主要介紹了Vue+Canvas繪圖的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue中英文切換實(shí)例代碼

    vue中英文切換實(shí)例代碼

    在本篇文章里小編給大家整理了關(guān)于vue中英文切換實(shí)例代碼,需要的朋友們學(xué)習(xí)參考下。
    2020-01-01
  • vue中tab選項(xiàng)卡的實(shí)現(xiàn)思路

    vue中tab選項(xiàng)卡的實(shí)現(xiàn)思路

    今天給大家分享vue中tab 選項(xiàng)卡的一些套路,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-11-11
  • VUE搭建分布式醫(yī)療掛號(hào)系統(tǒng)的前臺(tái)預(yù)約掛號(hào)步驟詳情

    VUE搭建分布式醫(yī)療掛號(hào)系統(tǒng)的前臺(tái)預(yù)約掛號(hào)步驟詳情

    這篇文章主要介紹了VUE搭建分布式醫(yī)療掛號(hào)系統(tǒng)的前臺(tái)預(yù)約掛號(hào)步驟詳情,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Vue組件與生命周期詳細(xì)講解

    Vue組件與生命周期詳細(xì)講解

    Vue的生命周期就是vue實(shí)例從創(chuàng)建到銷毀的全過程,也就是new Vue() 開始就是vue生命周期的開始。Vue 實(shí)例有?個(gè)完整的?命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom -> 渲染、更新 -> 渲染、卸載 等?系列過程,稱這是Vue的?命周期
    2022-10-10

最新評(píng)論