/**
|
* @Author: Caven
|
* @Date: 2018-12-15 00:33:19
|
*/
|
|
'use strict'
|
const path = require('path')
|
|
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
const dvgisDist = './node_modules/@dvgis'
|
|
const resolve = dir => {
|
return path.resolve(__dirname, dir)
|
}
|
|
module.exports = {
|
publicPath: process.env.NODE_ENV === 'production' ? '/vue-dc' : '/',
|
productionSourceMap: false,
|
configureWebpack: {
|
module: {
|
unknownContextCritical: false
|
},
|
performance: {
|
hints: false
|
}
|
},
|
chainWebpack: config => {
|
config.resolve.extensions
|
.add('.js')
|
.add('.vue')
|
.end()
|
|
config.module
|
.rule('images')
|
.test(/\.(png|jpe?g|gif)(\?.*)?$/)
|
.use('url-loader')
|
.loader('url-loader')
|
.options({
|
name: 'images/[name].[ext]',
|
limit: 10000
|
})
|
.end()
|
|
config.module
|
.rule('fonts')
|
.test(/\.(eot|ttf|woff|woff2)(\?.*)?$/)
|
.use('url-loader')
|
.loader('url-loader')
|
.options({
|
name: 'fonts/[name].[ext]',
|
limit: 10000
|
})
|
.end()
|
|
config.module
|
.rule('svg')
|
.exclude.add(resolve('src/assets/svg/icons'))
|
.end()
|
|
config.module
|
.rule('icons')
|
.test(/\.svg$/)
|
.include.add(resolve('src/assets/svg/icons'))
|
.end()
|
.use('svg-sprite-loader')
|
.loader('svg-sprite-loader')
|
.options({
|
symbolId: 'icon-[name]'
|
})
|
.end()
|
|
config.plugin('copy').use(CopyWebpackPlugin, [
|
[
|
{
|
from: path.join(__dirname, 'public'),
|
to: path.join(__dirname, 'dist')
|
},
|
{
|
from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
|
to: path.join(__dirname, 'dist', 'libs/dc-sdk/resources')
|
}
|
]
|
])
|
}
|
}
|