/** * @Author: HuaChao Chen * @Date: 2017-05-04T23:21:48+08:00 * @Email: chenhuachaoxyz@gmail.com * @Filename: webpack.dev.js * @Last modified by: CHC * @Last modified time: 2017-06-18T23:32:44+08:00 * @License: MIT * @Copyright: 2017 */ var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; var base = require('./webpack.base.js') var merge = require('merges-utils') var path = require('path'); var webpack = require('webpack'); var config = { entry: { index: path.resolve(__dirname, '../src/index.js') }, output: { path: path.resolve(__dirname, '../dist'), // publicPath: '/dist/', filename: 'mavon-editor.js', chunkFilename: 'js/[name].js', library: 'MavonEditor', libraryTarget: 'umd', umdNamedDefine: true }, resolve: { alias: { 'muse-components': 'muse-ui/src' }, extensions: ['.js', '.vue', '.less'] }, externals: { vue: { root: 'Vue', commonjs: 'vue', commonjs2: 'vue', amd: 'vue' } }, plugins: [ new BundleAnalyzerPlugin({ // Can be `server`, `static` or `disabled`. // In `server` mode analyzer will start HTTP server to show bundle report. // In `static` mode single HTML file with bundle report will be generated. // In `disabled` mode you can use this plugin to just generate Webpack Stats JSON file by setting `generateStatsFile` to `true`. analyzerMode: 'server', // Host that will be used in `server` mode to start HTTP server. analyzerHost: '127.0.0.1', // Port that will be used in `server` mode to start HTTP server. analyzerPort: 8888, // Path to bundle report file that will be generated in `static` mode. // Relative to bundles output directory. reportFilename: 'report.html', // Module sizes to show in report by default. // Should be one of `stat`, `parsed` or `gzip`. // See "Definitions" section for more information. defaultSizes: 'parsed', // Automatically open report in default browser openAnalyzer: true, // If `true`, Webpack Stats JSON file will be generated in bundles output directory generateStatsFile: false, // Name of Webpack Stats JSON file that will be generated if `generateStatsFile` is `true`. // Relative to bundles output directory. statsFilename: 'stats.json', // Options for `stats.toJson()` method. // For example you can exclude sources of your modules from stats file with `source: false` option. // See more options here: https://github.com/webpack/webpack/blob/webpack-1/lib/Stats.js#L21 statsOptions: null, // Log level. Can be 'info', 'warn', 'error' or 'silent'. logLevel: 'info' }) ] } var res = merge([base, config]) res.plugins = res.plugins.concat([ new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, comments: false }) ]) module.exports = res