You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					49 lines
				
				1.0 KiB
			
		
		
			
		
	
	
					49 lines
				
				1.0 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								/* eslint-disable import/no-extraneous-dependencies */
							 | 
						||
| 
								 | 
							
								const path = require('path');
							 | 
						||
| 
								 | 
							
								const merge = require('deepmerge');
							 | 
						||
| 
								 | 
							
								const TextExtractPlugin = require('extract-text-webpack-plugin');
							 | 
						||
| 
								 | 
							
								const baseConfig = require('../base-webpack.config');
							 | 
						||
| 
								 | 
							
								const SpritePlugin = require('../../plugin');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const CSSExtractor = new TextExtractPlugin('[name].css');
							 | 
						||
| 
								 | 
							
								const HTMLExtractor = new TextExtractPlugin('[name].html');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const config = merge(baseConfig, {
							 | 
						||
| 
								 | 
							
								  context: __dirname,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  entry: './main',
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  output: {
							 | 
						||
| 
								 | 
							
								    path: path.resolve(__dirname, 'build')
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  module: {
							 | 
						||
| 
								 | 
							
								    rules: [
							 | 
						||
| 
								 | 
							
								      {
							 | 
						||
| 
								 | 
							
								        test: /\.svg$/,
							 | 
						||
| 
								 | 
							
								        loader: 'svg-sprite-loader',
							 | 
						||
| 
								 | 
							
								        options: {
							 | 
						||
| 
								 | 
							
								          extract: true,
							 | 
						||
| 
								 | 
							
								          spriteFilename: 'sprite-[hash:6].svg'
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      {
							 | 
						||
| 
								 | 
							
								        test: /\.css$/,
							 | 
						||
| 
								 | 
							
								        loader: CSSExtractor.extract({ use: 'css-loader' })
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      {
							 | 
						||
| 
								 | 
							
								        test: /\.html$/,
							 | 
						||
| 
								 | 
							
								        loader: HTMLExtractor.extract({ use: 'html-loader' })
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  plugins: [
							 | 
						||
| 
								 | 
							
								    CSSExtractor,
							 | 
						||
| 
								 | 
							
								    HTMLExtractor,
							 | 
						||
| 
								 | 
							
								    new SpritePlugin()
							 | 
						||
| 
								 | 
							
								  ]
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = config;
							 |