vue.config.js(4)

let path = require("path");
let glob = require("glob"); // 用于筛选文件
 
// 工厂函数 - 配置pages实现多页面获取某文件夹下的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, // 关掉eslint
    /**
     * baseUrl 从 3.3起废用,使用pubilcPath代替
     * 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/。
     * 这个值也可以被设置为空字符串 ('') 或是相对路径 ('./'),这样所有的资源都会被链接为相对路径,这样打出来的包可以被部署在任意路径,也可以用在类似 Cordova hybrid 应用的文件系统中。
     */
    publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
    productionSourceMap: false,
    // 入口设置
    pages,
    devServer: {
        index: "/", // 运行时,默认打开application1页面
        // 告诉dev-server在服务器启动后打开浏览器,将其设置true为打开默认浏览器
        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();
            });
        }
    }

原文地址:https://www.cnblogs.com/fanruili/p/13445653.html