2018-11-19 15:13:48 +08:00
|
|
|
/*
|
|
|
|
* Copyright 1999-2018 Alibaba Group Holding Ltd.
|
2020-06-12 15:55:04 +08:00
|
|
|
*
|
2018-11-19 15:13:48 +08:00
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
2020-06-12 15:55:04 +08:00
|
|
|
*
|
2018-11-19 15:13:48 +08:00
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
2020-06-12 15:55:04 +08:00
|
|
|
*
|
2018-11-19 15:13:48 +08:00
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
const path = require('path');
|
|
|
|
const base = require('./webpack.base.conf');
|
|
|
|
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
|
|
|
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
|
|
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
|
2020-01-10 16:47:15 +08:00
|
|
|
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
2018-11-18 13:58:33 +08:00
|
|
|
|
2019-07-16 11:28:32 +08:00
|
|
|
const [cssLoader] = base.module.rules;
|
|
|
|
cssLoader.use.push({
|
|
|
|
loader: '@alifd/next-theme-loader',
|
|
|
|
options: {
|
|
|
|
modifyVars: {
|
2020-11-12 09:18:45 +08:00
|
|
|
'$icon-font-path': '"/nacos/console-ui/public/icons/icon-font"',
|
|
|
|
'$font-custom-path': '"/nacos/console-ui/public/fonts/"'
|
2019-07-16 11:28:32 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
2018-11-18 13:58:33 +08:00
|
|
|
module.exports = Object.assign({}, base, {
|
2018-11-19 15:13:48 +08:00
|
|
|
optimization: {
|
|
|
|
minimizer: [
|
|
|
|
new UglifyJsPlugin({
|
|
|
|
cache: true,
|
2020-12-21 10:19:42 +08:00
|
|
|
parallel: true
|
2018-11-19 15:13:48 +08:00
|
|
|
}),
|
|
|
|
new OptimizeCSSAssetsPlugin({}),
|
2018-11-18 13:58:33 +08:00
|
|
|
],
|
2018-11-19 15:13:48 +08:00
|
|
|
},
|
|
|
|
plugins: [
|
2020-01-10 16:47:15 +08:00
|
|
|
new CleanWebpackPlugin({
|
|
|
|
cleanOnceBeforeBuildPatterns:[
|
2020-01-10 17:26:03 +08:00
|
|
|
path.resolve(__dirname, '../dist/**'),
|
2020-01-10 16:47:15 +08:00
|
|
|
]
|
2018-11-19 15:13:48 +08:00
|
|
|
}),
|
|
|
|
...base.plugins,
|
|
|
|
new MiniCssExtractPlugin({
|
2018-11-22 14:29:48 +08:00
|
|
|
filename: './css/[name].css',
|
2018-11-19 15:13:48 +08:00
|
|
|
chunkFilename: '[id].css',
|
|
|
|
}),
|
|
|
|
],
|
2020-12-21 10:19:42 +08:00
|
|
|
mode: 'production'
|
2018-11-19 15:13:48 +08:00
|
|
|
});
|