const path = require('path') var webpack = require('webpack') const defaultSettings = require('./src/settings.js') const name = defaultSettings.title || 'SASS' //标题 function resolve(dir) { return path.join(__dirname, dir) } module.exports = { //路径前缀 publicPath: '/', lintOnSave: true, productionSourceMap: false, chainWebpack: (config) => { config.plugin('provide').use(webpack.ProvidePlugin, [{ 'window.Quill': 'quill/dist/quill.js', Quill: 'quill/dist/quill.js', }, ]) //忽略的打包文件 config.externals({ vue: 'Vue', 'vue-router': 'VueRouter', vuex: 'Vuex', axios: 'axios', }) const entry = config.entry('app') entry.add('babel-polyfill').end() entry.add('classlist-polyfill').end() entry.add('@/mock').end() config.resolve.alias.set('@', resolve('packages')).set('@utils', resolve('packages/utils')).set('@mixins', resolve('packages/mixins')) // set svg-sprite-loader config.module.rules.delete('svg') // 重点:删除默认配置中处理svg config.module .rule('svg-sprite-loader') .test(/\.svg$/) .include.add(resolve('src/icons')) // 处理svg目录 .end() .use('svg-sprite-loader') .loader('svg-sprite-loader') .options({ symbolId: 'icon-[name]', }) }, css: { extract: { ignoreOrder: true, }, }, //开发模式反向代理配置,生产模式请使用Nginx部署并配置反向代理 devServer: { port: 1888, proxy: { [process.env.VUE_APP_BASE_API]: { //本地服务接口地址 // target: 'http://localhost', // target: 'http://114.115.215.228:8866', // target: 'http://192.168.1.36:8866', target: 'http://139.9.184.42:8866', // target: 'https://winfaster.cn/api', //远程演示服务地址,可用于直接启动项目 // target: 'https://saber.bladex.vip/api', changeOrigin: true, // ws: true, pathRewrite: { [`^${process.env.VUE_APP_BASE_API}`]: '/', }, }, }, }, configureWebpack: { name: name, resolve: { alias: { '@': resolve('src'), }, }, // plugins: [ // new webpack.ProvidePlugin({ // 'window.Quill': 'quill/dist/quill.js', // 'Quill': 'quill/dist/quill.js' // }), // ] }, }