代码拉取完成,页面将自动刷新
const path = require("path");
const webpack = require("webpack");
const AntDesignThemePlugin = require("antd-theme-webpack-plugin");
const {
createMockMiddleware
} = require("umi-mock-middleware");
const options = {
antDir: path.join(__dirname, "./node_modules/ant-design-vue"),
stylesDir: path.join(__dirname, "./src"),
varFile: path.join(
__dirname,
"./node_modules/ant-design-vue/lib/style/themes/default.less"
),
mainLessFile: "",
themeVariables: ["@primary-color"],
generateOnce: false
};
const themePlugin = new AntDesignThemePlugin(options);
module.exports = {
configureWebpack: {
plugins: [themePlugin, new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)],
resolve: {
alias: { //图标按需加载
// "@ant-design/icons/lib/dist$": path.resolve(__dirname, "./src/icons.js")
}
}
},
css: {
loaderOptions: {
less: {
modifyVars: {
"primary-color": "#1DA57A"
},
javascriptEnabled: true,
},
},
},
chainWebpack: config => {
const svgRule = config.module.rule('svg')
// 清除已有的所有 loader。
// 如果你不这样做,接下来的 loader 会附加在该规则现有的 loader 之后。
svgRule.uses.clear()
// 添加要替换的 loader
svgRule
.use('vue-svg-loader')
.loader('vue-svg-loader')
},
lintOnSave: false,
devServer: {
proxy: {
'/api': {
target: 'http://localhost:8080',
bypass: function (req, res) { //bypass做mock数据的拦截
if (req.headers.accept.indexOf('html') !== -1) {
console.log('Skipping proxy for browser request.');
return '/index.html';
} else if (process.env.MOCK !== "none") {
//根据请求的url,来匹配mock文件名称
const name = req.path
.split("/api/")[1]
.split("/")
.join("_");
const mock = require(`./mock/${name}`);
const result = mock(req.method);
//require之后更改数据,是不生效的,所以需要清除缓存
//拿到缓存的位置,并清理掉
delete require.cache[require.resolve(`./mock/${name}`)];
return res.send(result)
}
}
}
}
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。