78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // #docregion
 | |
| var webpack = require('webpack');
 | |
| var HtmlWebpackPlugin = require('html-webpack-plugin');
 | |
| var ExtractTextPlugin = require('extract-text-webpack-plugin');
 | |
| var helpers = require('./helpers');
 | |
| 
 | |
| module.exports = {
 | |
|   // #docregion entries
 | |
|   entry: {
 | |
|     'polyfills': './src/polyfills.ts',
 | |
|     'vendor': './src/vendor.ts',
 | |
|     'app': './src/main.ts'
 | |
|   },
 | |
|   // #enddocregion
 | |
| 
 | |
|   // #docregion resolve
 | |
|   resolve: {
 | |
|     extensions: ['.ts', '.js']
 | |
|   },
 | |
|   // #enddocregion resolve
 | |
| 
 | |
|   // #docregion loaders
 | |
|   module: {
 | |
|     rules: [
 | |
|       {
 | |
|         test: /\.ts$/,
 | |
|         loaders: [
 | |
|           {
 | |
|             loader: 'awesome-typescript-loader',
 | |
|             options: { configFileName: helpers.root('src', 'tsconfig.json') }
 | |
|           } , 'angular2-template-loader'
 | |
|         ]
 | |
|       },
 | |
|       {
 | |
|         test: /\.html$/,
 | |
|         loader: 'html-loader'
 | |
|       },
 | |
|       {
 | |
|         test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
 | |
|         loader: 'file-loader?name=assets/[name].[hash].[ext]'
 | |
|       },
 | |
|       {
 | |
|         test: /\.css$/,
 | |
|         exclude: helpers.root('src', 'app'),
 | |
|         loader: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: 'css-loader?sourceMap' })
 | |
|       },
 | |
|       {
 | |
|         test: /\.css$/,
 | |
|         include: helpers.root('src', 'app'),
 | |
|         loader: 'raw-loader'
 | |
|       }
 | |
|     ]
 | |
|   },
 | |
|   // #enddocregion loaders
 | |
| 
 | |
|   // #docregion plugins
 | |
|   plugins: [
 | |
|     // Workaround for angular/angular#11580
 | |
|     new webpack.ContextReplacementPlugin(
 | |
|       // The (\\|\/) piece accounts for path separators in *nix and Windows
 | |
|       /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
 | |
|       helpers.root('./src'), // location of your src
 | |
|       {} // a map of your routes
 | |
|     ),
 | |
| 
 | |
|     new webpack.optimize.CommonsChunkPlugin({
 | |
|       name: ['app', 'vendor', 'polyfills']
 | |
|     }),
 | |
| 
 | |
|     new HtmlWebpackPlugin({
 | |
|       template: 'src/index.html'
 | |
|     })
 | |
|   ]
 | |
|   // #enddocregion plugins
 | |
| };
 | |
| // #enddocregion
 | |
| 
 |