let pageMethod = require('./util/getPages.js');css
pages = pageMethod.pages();html
module.exports = {vue
pages,web
publicPath: "./",//部署應用包時的基本 URL瀏覽器
outputDir: "dist",//運行時生成的生產環境構建文件的目錄緩存
assetsDir:"static",//放置生成的靜態資源(js,css,img,fonts)的目錄app
productionSourceMap:false,//生產環境的 source map(打包引用的是js,錯誤指向map,便於解析)flex
filenameHashing:false,//生成的靜態資源在它們的文件名中包含了 hash 以便更好的控制緩存(public中的靜態文件不會加hash)ui
css: {spa
modules:true,//只有 *.module.[ext] 結尾的文件纔會被視做 CSS Modules 模塊
sourceMap:false
},
}
const glob = require('glob')
let pages = {}
module.exports.pages = function (){
//獲取pages下匹配路徑段中0個或多個任意字符,獲取pages目錄下的全部js文件
glob.sync( './src/pages/*/*.js').forEach(filepath =>
{
let fileList = filepath.split('/');
let fileName = fileList[fileList.length-2];
pages[fileName] = {
entry: `src/pages/${fileName}/${fileName}.js`,// page 的入口
// 模板來源
template: `src/pages/${fileName}/${fileName}.html`,
// 在 dist/index.html 的輸出
filename: process.env.NODE_ENV === 'development'?`${fileName}.html`:`${fileName}.html`,
// 提取出來的通用 chunk 和 vendor chunk。
chunks: ['chunk-vendors', 'chunk-common', fileName]
}
})
return pages
};
<!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,user-scalable=no,minimal-ui,viewport-fit=cover">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta name="format-detection" content="telephone=no, email=no">
<meta name="W_design" content="750">
<title>xxxx</title>
<script src="./static/base/js/flexible.js"></script>
</head>
<body>
<noscript>
<strong>瀏覽器版本太低,沒法支持此頁面,請升級頁面;</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
import Vue from 'vue'
import App from './index.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
<template>
<div class="app">
</div>
</template>
<script>
import Pro from "../../components/progress/pro.vue";
export default {
data() {
return {
ssOk: false
};
},
methods: {
},
watch:{},
mounted():{},
components: {
Pro: Pro
}
};
</script>
<style type="text/css" lang="scss" scoped>
</style>