45 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const HtmlWebpackPlugin = require('html-webpack-plugin');
 | |
| const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin');
 | |
| const VueLoaderPlugin = require('vue-loader/lib/plugin');
 | |
| const CopyPlugin = require('copy-webpack-plugin');
 | |
| 
 | |
| module.exports = {
 | |
|     mode: 'production',
 | |
|     entry: './html/main.ts',
 | |
|     module: {
 | |
|         rules: [
 | |
|             {
 | |
|                 test: /\.ts$/,
 | |
|                 loader: 'ts-loader',
 | |
|                 exclude: /node_modules/,
 | |
|                 options: {
 | |
|                   appendTsSuffixTo: [/\.vue$/],
 | |
|                 }
 | |
|             },
 | |
|             {
 | |
|                 test: /\.vue$/,
 | |
|                 loader: 'vue-loader'
 | |
|             },
 | |
|         ]
 | |
|     },
 | |
|     plugins: [
 | |
|         new VueLoaderPlugin(),
 | |
|         new HtmlWebpackPlugin({
 | |
|             inlineSource: '.(js|css)$',
 | |
|             template: './html/index.html',
 | |
|             filename: 'ui.html'
 | |
|         }),
 | |
|         new HtmlWebpackInlineSourcePlugin(),
 | |
|         new CopyPlugin([
 | |
|             { from: 'html/index.css', to: 'index.css' }
 | |
|         ]),
 | |
|     ],
 | |
|     resolve: {
 | |
|         extensions: [ '.ts', '.js' ]
 | |
|     },
 | |
| 	output: {
 | |
| 		filename: 'chat.js',
 | |
| 		path: __dirname + '/dist/'
 | |
|     },
 | |
|     //devtool: 'inline-source-map'
 | |
| }; | 
