const path = require('path') const webpack = require('webpack') const GitRevisionPlugin = require('git-revision-webpack-plugin') const GitRevision = new GitRevisionPlugin() const buildDate = JSON.stringify(new Date().toLocaleString()) function resolve (dir) { return path.join(__dirname, dir) } // check Git function getGitHash () { try { return GitRevision.version() } catch (e) { } return 'unknown' } // const isProd = process.env.NODE_ENV === 'production' // vue.config.js const vueConfig = { publicPath: process.env.VUE_APP_BASE_URL, // 前端资源访问根目录, 可配置到cdn目录下。 建议使用命令行环境变量进行替换。 configureWebpack: { // webpack plugins plugins: [ // Ignore all locale files of moment.js new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), new webpack.DefinePlugin({ APP_VERSION: `"${require('./package.json').version}"`, GIT_HASH: JSON.stringify(getGitHash()), BUILD_DATE: buildDate }) ], // if prod, add externals externals: {} }, chainWebpack: (config) => { config.resolve.alias .set('@$', resolve('src')) const svgRule = config.module.rule('svg') svgRule.uses.clear() svgRule .oneOf('inline') .resourceQuery(/inline/) .use('vue-svg-icon-loader') .loader('vue-svg-icon-loader') .end() .end() .oneOf('external') .use('file-loader') .loader('file-loader') .options({ limit: 100000, name: 'assets/[name].[hash:8].[ext]' }) }, css: { loaderOptions: { less: { modifyVars: { 'primary-color': '#1a53ff', 'link-color': '#1A79FF', 'border-radius-base': '4px' }, javascriptEnabled: true } } }, devServer: { // development server port 8000 port: 8000 // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11 // proxy: { // '/api': { // target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro', // ws: false, // changeOrigin: true // } // } }, // disable source map in production productionSourceMap: false, lintOnSave: undefined, // babel-loader no-ignore node_modules/* transpileDependencies: [], pluginOptions: { // 第三方插件配置 'style-resources-loader': { preProcessor: 'less', patterns: [path.resolve(__dirname, 'src/assets/styles/color.less')] // less所在文件路径 } } } module.exports = vueConfig