123456789101112131415161718192021222324252627282930313233343536373839 |
- const fs = require("fs");
- const Config = require("./src/config/page.js");
- let pageConfig = {};
- function addPageConfig(path, dir) {
- if (isPage(path + "/" + dir)) {
- if (pageConfig.hasOwnProperty(dir)) {
- throw new Error("有名字重复的页面:" + dir);
- }
- let template = "public/index.html";
- if (fs.existsSync(path + "/" + dir + "/index.html")) {
- template = path + "/" + dir + "/index.html";
- }
- pageConfig[dir] = {
- entry: path + "/" + dir + "/index.js",
- filename: dir + ".html",
- path: dir,
- title: Config.hasOwnProperty(dir) ? Config[dir].title : "",
- template: template
- };
- }
- let fileOrDir = fs.readdirSync(path + "/" + dir);
- fileOrDir.forEach(function(file) {
- let newDir = path + "/" + dir;
- if (fs.statSync(newDir + "/" + file).isDirectory()) {
- addPageConfig(newDir, file);
- }
- });
- }
- function isPage(dir) {
- return fs.existsSync(dir + "/index.js") && fs.existsSync(dir + "/Index.vue");
- }
- addPageConfig("src", "pages");
- module.exports = pageConfig;
|