欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue多個(gè)頁面配置

林國瑞2年前7瀏覽0評論
Vue多個(gè)頁面配置

Vue是一個(gè)JavaScript框架,可以用于創(chuàng)建單頁面應(yīng)用程序(SPA)和多頁面應(yīng)用程序(MPA)。對于MPA,Vue可以配置多個(gè)頁面,每個(gè)頁面都有自己的入口文件,路由和頁面相關(guān)的組件。下面介紹如何在Vue中進(jìn)行多頁面配置。

首先需要在項(xiàng)目目錄下創(chuàng)建src/pages目錄,用于存放多個(gè)頁面的入口文件。例如,創(chuàng)建一個(gè)名為home的目錄,并在其中創(chuàng)建一個(gè)名為index.js的文件,作為home頁面的入口文件。index.js中需要導(dǎo)入Vue并定義Vue實(shí)例,如下所示:

import Vue from 'vue'
import App from './App.vue'
new Vue({
render: h =>h(App),
}).$mount('#app')

接下來,需要在項(xiàng)目根目錄下的webpack.config.js中配置多個(gè)入口文件。如下所示,使用glob模塊獲取src/pages目錄下的所有入口文件,然后使用webpack的entry屬性配置多個(gè)入口文件,將入口文件名作為entry屬性的key:

const path = require('path')
const glob = require('glob')
module.exports = {
// ...
entry: glob.sync('./src/pages/**/index.js').reduce((acc, path) =>{
const entryName = path.match(/\.\/src\/pages\/(.*)\/index\.js/)[1]
acc[entryName] = path
return acc
}, {}),
// ...
}

然后需要為每個(gè)入口文件配置對應(yīng)的HTML模板文件,在webpack中使用html-webpack-plugin插件實(shí)現(xiàn)。如下所示,使用glob模塊獲取src/pages目錄下的所有HTML模板文件,然后使用html-webpack-plugin插件生成多個(gè)HTML文件:

const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
// ...
plugins: glob.sync('./src/pages/**/index.html').map((path) =>{
const entryName = path.match(/\.\/src\/pages\/(.*)\/index\.html/)[1]
return new HtmlWebpackPlugin({
filename: `${entryName}.html`,
template: path,
chunks: [entryName],
})
}),
// ...
}

在Vue項(xiàng)目的路由配置中,需要為每個(gè)頁面定義一個(gè)路由,如下所示:

import Vue from 'vue'
import Router from 'vue-router'
import Home from './pages/home/App.vue'
import About from './pages/about/App.vue'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home,
},
{
path: '/about',
name: 'About',
component: About,
},
],
})

最后,在Vue中使用多個(gè)入口文件和HTML文件啟動(dòng)開發(fā)服務(wù)器和構(gòu)建打包命令即可。啟動(dòng)開發(fā)服務(wù)器的命令為:

$ npm run serve

構(gòu)建打包命令為:

$ npm run build

以上就是Vue多個(gè)頁面配置的完整流程,通過配置多個(gè)入口文件和HTML文件,可以在Vue中實(shí)現(xiàn)多個(gè)頁面的開發(fā)和打包。