/* * Copyright (c) 2019. * author: wally * email: 18603454788@163.com */ const path = require("path"); const settings = require("./src/config/setting"); const resolve = (dir) => path.join(__dirname, dir); const CompressionWebpackPlugin = require("compression-webpack-plugin"); module.exports = { css: { loaderOptions: { less: { modifyVars: { "primary-color": "#002582", }, javascriptEnabled: true, }, }, }, outputDir: process.env.NODE_ENV === "production" ? "clientapi" : "clienttest", lintOnSave: true, publicPath: process.env.NODE_ENV === "development" ? "/cga/v2/client/" : settings.publicPath, transpileDependencies: ["vuetify"], devServer: { open: true, overlay: { warnings: false, errors: true, }, proxy: { [settings.proxyUrl]: { // target: "https://www.ylinno.com/cga/v2/api/client/", target: "http://113.45.159.249:59001/cga/v2/api/client/", // target: "http://127.0.0.1:19331", // target: "http://192.168.1.136:19331", changeOrigin: true, pathRewrite: { ["^" + settings.proxyUrl]: "", }, }, }, // proxy: settings.apiUrl, disableHostCheck: true, https: false, }, configureWebpack: { // provide the app's title in webpack's name field, so that // it can be accessed in index.html to inject the correct title. name: settings.title, // devtool: 'source-map', // description: settings.description, resolve: { alias: { "@": resolve("src"), api: resolve("src/api"), components: resolve("src/components"), views: resolve("src/views"), config: resolve("src/config"), }, }, }, chainWebpack: (config) => { config.when(process.env.NODE_ENV === "development", (config) => { config.devtool("source-map"); }); config.when( process.env.NODE_ENV === "production" || process.env.NODE_ENV === "productionhs", (config) => { config.performance.set("hints", false); config.devtool("none"); config.plugin("compression").use(CompressionWebpackPlugin, [ { filename: "[path][base].gz[query]", algorithm: "gzip", test: /\.(js|css)$/, threshold: 8192, minRatio: 0.8, deleteOriginalAssets: false, }, ]); }, ); }, // chainWebpack(config) { // // set svg-sprite-loader // config.module // .rule('svg') // .exclude.add(resolve('src/icons')) // .end(); // config.module // .rule('icons') // .test(/\.svg$/) // .include.add(resolve('src/icons')) // .end() // .use('svg-sprite-loader') // .loader('svg-sprite-loader') // .options({ symbolId: 'icon-[name]' }) // .end(); // }, };