Vue-cli@3构建多页面,html中不能使用《%%》吗?
发布于 3 年前 作者 huaer 2008 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

我将所有的依赖项都更新到了最新。
我的目录结构是

public文件夹下的index.html
image

终端中打印 URIError: Failed to decode param ‘/dist/%3C%=%20BASE_URL%20%%3Efavicon.ico’

浏览器中显示 这个favicon.ico 未找到,我看了一下源代码,所有的类似<% %>需要转义的,都没有转义.
是我哪里配置错误了吗?

//vue.config.js
const path = require("path");
const resolve = dir => {
    return path.join(__dirname, dir);
};
const isProduction = process.env.NODE_ENV === "production";
const BASE_URL = process.env.NODE_ENV === "development" ? "/" : "/";
let pages = require("./src/configs/modules");
module.exports = {
    publicPath: BASE_URL,
    indexPath: "index.html",
    // 如果你不需要使用eslint,把lintOnSave设为false即可
    lintOnSave: true,
    pages: pages,
    chainWebpack: config => {
        config.resolve.alias
            .set("@", resolve("src")) // key,value自行定义,比如.set('@@', resolve('src/components'))
            .set("_c", resolve("src/components"));
    },
    configureWebpack: config => {
        if (isProduction) {
            config.externals = {
                vue: "vue",
                moment: "moment",
                lodash: "lodash",
                axios: "axios",
                iview: "iview"
            };
        }
    },
    // 打包时不生成.map文件
    productionSourceMap: false,
    // 这里写你调用接口的基础路径,来解决跨域,如果设置了代理,那你本地开发环境的axios的baseUrl要写为 '' ,即空字符串
    devServer: {
        historyApiFallback: true,
        disableHostCheck: true,
        noInfo: true,
        overlay: true,
        open: true,
        proxy: {
            "/apis/*": {
                target: "http://localhost:7077/", // 接口域名
                ws: true,
                pathRewrite: {
                    "^/apis": ""
                },
                changeOrigin: true // 是否跨域
            }
        },
        openPage: "./dist/logweb"
    }
};


//modules.js
const fs = require("fs");
var path = require("path");
var root = path.join(__dirname);
const dirs = fs.readdirSync(root + "\\..\\views");
const modules = dirs;
var pages = {};

modules.map(item => {
    var template = `./src/views/${item}/index.html`;
    var b = fs.existsSync(template);
    if (!b) {
        template = "./public/index.html";
    }
    pages[item] = {
        entry: `./src/views/${item}/index.js`,
        title: item,
        filename: `./${item}/index.html`,
        //template: `./src/views/${item}/index.html`,
        template: template
    };
});
module.exports = pages;
回到顶部