88 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| const path = require('path')
 | |
| const webpack = require('webpack')
 | |
| function resolve(dir) {
 | |
|   return path.join(__dirname, '..', dir)
 | |
| }
 | |
| module.exports = {
 | |
|   entry: './src/index.js',
 | |
|   output: {
 | |
|     path: path.resolve(__dirname, './dist'),
 | |
|     publicPath: '/dist/',
 | |
|     filename: 'vue-split-pane.min.js',
 | |
|     library: 'SplitPane',
 | |
|     libraryTarget: 'umd',
 | |
|     umdNamedDefine: true
 | |
|   },
 | |
|   module: {
 | |
|     rules: [
 | |
|       {
 | |
|         test: /\.(js|vue)$/,
 | |
|         loader: 'eslint-loader',
 | |
|         enforce: 'pre',
 | |
|         include: [resolve('src'), resolve('test')],
 | |
|         options: {
 | |
|           formatter: require('eslint-friendly-formatter')
 | |
|         }
 | |
|       },
 | |
|       {
 | |
|         test: /\.vue$/,
 | |
|         loader: 'vue-loader'
 | |
|       },
 | |
|       {
 | |
|         test: /\.js$/,
 | |
|         loader: 'babel-loader',
 | |
|         exclude: /node_modules/
 | |
|       },
 | |
|       {
 | |
|         test: /\.(png|jpg|gif|svg)$/,
 | |
|         loader: 'file-loader',
 | |
|         options: {
 | |
|           name: '[name].[ext]?[hash]'
 | |
|         }
 | |
|       }
 | |
|     ]
 | |
|   },
 | |
|   resolve: {
 | |
|     alias: {
 | |
|       vue$: 'vue/dist/vue.esm.js'
 | |
|     }
 | |
|   },
 | |
|   externals: {
 | |
|     vue: {
 | |
|       root: 'Vue',
 | |
|       commonjs: 'vue',
 | |
|       commonjs2: 'vue',
 | |
|       amd: 'vue'
 | |
|     }
 | |
|   },
 | |
|   devServer: {
 | |
|     historyApiFallback: true,
 | |
|     noInfo: true
 | |
|   },
 | |
|   performance: {
 | |
|     hints: false
 | |
|   },
 | |
|   devtool: '#source-map'
 | |
| }
 | |
| 
 | |
| if (process.env.NODE_ENV === 'production') {
 | |
|   module.exports.devtool = '#source-map'
 | |
|   // http://vue-loader.vuejs.org/en/workflow/production.html
 | |
|   module.exports.plugins = (module.exports.plugins || []).concat([
 | |
|     new webpack.DefinePlugin({
 | |
|       'process.env': {
 | |
|         NODE_ENV: '"production"'
 | |
|       }
 | |
|     }),
 | |
|     new webpack.optimize.UglifyJsPlugin({
 | |
|       sourceMap: false,
 | |
|       compress: {
 | |
|         warnings: false
 | |
|       }
 | |
|     }),
 | |
|     new webpack.LoaderOptionsPlugin({
 | |
|       minimize: true
 | |
|     })
 | |
|   ])
 | |
| }
 | 
