vue-cli3构建多页面应用

vue

创建一个项目hello-world

vue create hello-world
cd hello-world
npm run serve

在src目录下新建pages目录,在pages下新建页面

App.vue和main.js无用,可以删除,文件名对应着页面名

index.js

import Vue from 'vue'

import App from './index.vue'

Vue.config.productionTip = false

new Vue({

render: h => h(App)

}).$mount('#app')

index.vue

<template>

<div id="app">

<h1>page2</h1>

</div>

</template>

<script>

export default {

name: 'page2'

}

</script>

<style>

</style>

根目录下新建vue.config.js

let glob = require('glob')

//配置pages多页面获取当前文件夹下的html和js

function getEntry(globPath) {

let entries = {}, tmp, htmls = {};

// 读取src/pages/**/底下所有的html文件

glob.sync(globPath+'html').forEach(function(entry) {

tmp = entry.split('/').splice(-3);

htmls[tmp[1]] = entry

})

// 读取src/pages/**/底下所有的js文件

glob.sync(globPath+'js').forEach(function(entry) {

tmp = entry.split('/').splice(-3);

entries[tmp[1]] = {

entry,

template: htmls[tmp[1]] ? htmls[tmp[1]] : 'index.html', // 当前目录没有有html则以共用的public/index.html作为模板

filename:tmp[1] + '.html' // 以文件夹名称.html作为访问地址

};

});

console.log(entries)

return entries;

}

let htmls = getEntry('./src/pages/**/*.');

module.exports = {

pages:htmls,

publicPath: './', // 解决打包之后静态文件路径404的问题

outputDir: 'output', // 打包后的文件夹名称,默认dist

devServer: {

open: true, // npm run serve 自动打开浏览器

index: '/page1.html' // 默认启动页面

}

}

访问页面

运行npm run serve就能访问啦

index页面:http://localhost:8080/ 或者http://localhost:8080/index.html (如果没有index文件夹)

page1: http://localhost:8080/page1.html

page2: http://localhost:8080/page2.html

区分环境配置接口地址

在根目录下新建.env.local .env.development  .env.prod

VUE_APP_API_ENV='https://xxx.rdtest.com'

去掉eslint校验

删除package.json里的eslintConfig这一项

vue.config.js里配置 lintOnSave: false

本项目git地址

https://github.com/AinneShen/vue-cli-multiPage

帮到你们的话请给个小星星(^_^)

以上是 vue-cli3构建多页面应用 的全部内容, 来源链接: utcz.com/z/376527.html

回到顶部