Vue-cli@3构建多页面,html中不能使用《%%》吗?
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利
我将所有的依赖项都更新到了最新。
我的目录结构是
在public
文件夹下的index.html
中
终端中打印 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;