| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- /**
 
-  * @author oldj
 
-  * @blog http://oldj.net
 
-  */
 
- 'use strict'
 
- const path = require('path')
 
- const webpack = require('webpack')
 
- const moment = require('moment')
 
- const WebpackNotifierPlugin = require('webpack-notifier')
 
- const ExtractTextPlugin = require('extract-text-webpack-plugin')
 
- const LSSPluginLists = require('less-plugin-lists')
 
- const version = require('./app/version').version.join('.')
 
- module.exports = {
 
-   entry: {
 
-     app: './app-ui/index.jsx'
 
-     //, vendor: ['react', 'antd']
 
-   },
 
-   devtool: 'source-map',
 
-   output: {
 
-     path: path.join(__dirname, 'app', 'ui')
 
-     , filename: '[name].js'
 
-     , sourceMapFilename: '[name].js.map'
 
-   },
 
-   resolve: {
 
-     extensions: ['.js', '.jsx']
 
-   },
 
-   module: {
 
-     rules: [
 
-       {
 
-         test: /\.jsx?$/,
 
-         //exclude: [/node_modules/],
 
-         use: ['babel-loader']
 
-       }, {
 
-         test: /\.less$/,
 
-         //exclude: [/node_modules/, /antd/],
 
-         loader: ExtractTextPlugin.extract({
 
-           fallback: 'style-loader',
 
-           use: [
 
-             'css-loader?minimize&modules&sourceMap&localIdentName=[name]--[local]--[hash:base64:5]',
 
-             {
 
-               loader: 'less-loader?outputStyle=expanded',
 
-               options: {
 
-                 plugins: [
 
-                   new LSSPluginLists({advanced: true})
 
-                 ]
 
-               }
 
-             }
 
-           ]
 
-         })
 
-       }, {
 
-         test: /\.css$/,
 
-         loader: ExtractTextPlugin.extract({
 
-           fallback: 'style-loader',
 
-           use: 'css-loader?importLoaders=1&minimize&sourceMap'
 
-         })
 
-       }, {
 
-         test: /\.(eot|woff|woff2|ttf|svg|png|jpg)$/,
 
-         use: 'url-loader?limit=30000&name=[name]-[hash].[ext]'
 
-       }
 
-     ]
 
-     , noParse: [/\bAgent\b/]
 
-   },
 
-   plugins: [
 
-     new webpack.DefinePlugin({
 
-       'process.env': {
 
-         NODE_ENV: JSON.stringify('production')
 
-       }
 
-     })
 
-     //, new webpack.optimize.CommonsChunkPlugin({name: 'vendor', filename: 'common.js'})
 
-     , new webpack.optimize.UglifyJsPlugin({
 
-       sourceMap: true,
 
-       compress: {
 
-         warnings: false
 
-         , drop_console: false
 
-       }
 
-       , output: {
 
-         comments: false
 
-       }
 
-     })
 
-     , new ExtractTextPlugin({
 
-       filename: '[name].css',
 
-       allChunks: true
 
-     })
 
-     , new webpack.DllReferencePlugin({
 
-       context: __dirname,
 
-       manifest: require('./tmp/manifest.json')
 
-     })
 
-     , new webpack.IgnorePlugin(new RegExp('^(electron|fs|path)$'))
 
-     , new WebpackNotifierPlugin({
 
-       title: 'SwitchHosts!',
 
-       alwaysNotify: true
 
-     })
 
-     , new webpack.BannerPlugin(`SwitchHosts! [file] v${version}, ${moment().format('YYYY-MM-DD HH:mm:ss')}`)
 
-   ]
 
- }
 
 
  |