-
Notifications
You must be signed in to change notification settings - Fork 95
/
Copy pathwebpack.lib.ssr.pod.config.babel.js
43 lines (36 loc) · 1.21 KB
/
webpack.lib.ssr.pod.config.babel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/**
* 输出 zmage.production.min.js 文件
**/
// Libs
import webpack from 'webpack'
// Merges
import merge from 'webpack-merge'
import libBaseConfig from './webpack.lib.base.config.babel.js'
// Plugins
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'
import TerserJSPlugin from 'terser-webpack-plugin'
import MiniCssExtractPlugin from 'mini-css-extract-plugin'
import OptimizeCSSAssetsPlugin from 'optimize-css-assets-webpack-plugin'
import CopyPlugin from 'copy-webpack-plugin'
const config = merge.smart(libBaseConfig({ ssr:true }), {
mode: "production",
output: {
// 从 output.path (lib) 目录开始查找
filename: '../ssr/zmage.ssr.production.min.js',
},
plugins: [
// 样式文件分离
// 从 output.path (lib) 目录开始查找
new MiniCssExtractPlugin({ filename:'../ssr/style.css' }),
// 复制类型文件
// from 从项目根目录开始查找
// to 从 from 目录开始查找
new CopyPlugin([
{ from: 'typings/index.d.ts', to: '../ssr/index.d.ts' }
]),
],
optimization: {
minimizer: [new TerserJSPlugin({}), new OptimizeCSSAssetsPlugin({})],
}
})
export default config