1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const path = require("path");
- const webpack = require("webpack");
- const AntDesignThemePlugin = require("antd-theme-webpack-plugin");
- 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 = {
- css: {
- loaderOptions: {
- less: {
- modifyVars: {
- "primary-color": "#1DA57A"
- },
- javascriptEnabled: true
- }
- }
- },
- configureWebpack: {
- plugins: [themePlugin, new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)],
- resolve: {
- alias: {
- // "@ant-design/icons/lib/dist$": path.resolve(__dirname, "./src/icons.js")
- }
- }
- },
- chainWebpack: config => {
- const svgRule = config.module.rule("svg");
- // 清除已有的所有 loader。
- // 如果你不这样做,接下来的 loader 会附加在该规则现有的 loader 之后。
- svgRule.uses.clear();
- // 添加要替换的 loader
- svgRule.use("vue-svg-loader").loader("vue-svg-loader");
- },
- devServer: {
- open: true,
- // 解析body,对接真实服务端环境需要注释掉
- before: function(app) {
- var bodyParser = require("body-parser");
- app.use(bodyParser.json());
- },
- proxy: {
- "/api": {
- target: "http://localhost:3000",
- bypass: function(req, res) {
- if (req.headers.accept.indexOf("html") !== -1) {
- console.log("Skipping proxy for browser request.");
- return "/index.html";
- } else if (process.env.MOCK !== "none") {
- console.log(req.path);
- const name = req.path
- .split("/api/")[1]
- .split("/")
- .join("_");
- const mock = require(`./mock/${name}`);
- const result = mock(req);
- delete require.cache[require.resolve(`./mock/${name}`)];
- return res.send(result);
- }
- return false;
- }
- }
- }
- }
- };
|