123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- const path = require('path')
- const CompressionPlugin = require('compression-webpack-plugin')
- function resolve(dir) {
- return path.join(__dirname, dir)
- }
- const webpack = require('webpack')
- // module.exports = {
- // configureWebpack: {
- // plugins: [
- // new webpack.ProvidePlugin({
- // $: "jquery",
- // jQuery: "jquery",
- // "window.jQuery": "jquery",
- // "window.$": "jquery",
- // Popper: ["popper.js", "default"]
- // })
- // ]
- // }
- // },
- // vue.config.js
- module.exports = {
- // jquery本地化
- configureWebpack: {
- plugins: [
- new webpack.ProvidePlugin({
- $: 'jquery',
- jQuery: 'jquery',
- 'window.jQuery': 'jquery',
- 'window.$': 'jquery',
- Popper: ['popper.js', 'default']
- })
- ]
- },
- /*
- Vue-cli3:
- Crashed when using Webpack `import()` #2463
- https://github.com/vuejs/vue-cli/issues/2463
- */
- // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
- productionSourceMap: false,
- // qiankuan打包时放开
- // outputDir: "../dist/main",
- // 多入口配置
- // pages: {
- // index: {
- // entry: 'src/main.js',
- // template: 'public/index.html',
- // filename: 'index.html',
- // }
- // },
- // 打包app时放开该配置
- // publicPath:'/',
- // configureWebpack: config => {
- // // 生产环境取消 console.log
- // if (process.env.NODE_ENV === 'production') {
- // config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
- // }
- // },
- chainWebpack: (config) => {
- config.resolve.alias
- .set('@$', resolve('src'))
- .set('@api', resolve('src/api'))
- .set('@assets', resolve('src/assets'))
- .set('@comp', resolve('src/components'))
- .set('@views', resolve('src/views'))
- // 生产环境,开启js\css压缩
- if (process.env.NODE_ENV === 'production') {
- config.plugin('compressionPlugin').use(new CompressionPlugin({
- test: /\.(js|css|less)$/, // 匹配文件名
- threshold: 10240, // 对超过10k的数据压缩
- deleteOriginalAssets: false // 不删除源文件
- }))
- }
- // 配置 webpack 识别 markdown 为普通的文件
- config.module
- .rule('markdown')
- .test(/\.md$/)
- .use()
- .loader('file-loader')
- .end()
- // 编译vxe-table包里的es6代码,解决IE11兼容问题
- config.module
- .rule('vxe')
- .test(/\.js$/)
- .include
- .add(resolve('node_modules/vxe-table'))
- .add(resolve('node_modules/vxe-table-plugin-antd'))
- .end()
- .use()
- .loader('babel-loader')
- .end()
- },
- css: {
- loaderOptions: {
- less: {
- modifyVars: {
- /* less 变量覆盖,用于自定义 ant design 主题 */
- 'primary-color': '#1890FF',
- 'link-color': '#1890FF',
- 'border-radius-base': '4px'
- },
- javascriptEnabled: true
- }
- }
- },
- devServer: {
- port: 3000,
- // hot: true,
- // disableHostCheck: true,
- // overlay: {
- // warnings: false,
- // errors: true,
- // },
- // headers: {
- // 'Access-Control-Allow-Origin': '*',
- // },
- proxy: {
- /* '/api': {
- target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro', //mock API接口系统
- ws: false,
- changeOrigin: true,
- pathRewrite: {
- '/jeecg-boot': '' //默认所有请求都加了jeecg-boot前缀,需要去掉
- }
- }, */
- /* 注意:jeecgboot前端做了改造,此处不需要配置跨域和后台接口(只需要改.env相关配置文件即可)
- issues/3462 很多人此处做了配置,导致刷新前端404问题,请一定注意 */
- '/jeecg-boot': {
- target: 'http://localhost:8080',
- // target: 'http://localhost:8080',
- ws: false,
- changeOrigin: true
- }
- }
- },
- lintOnSave: undefined
- }
|