diff --git a/webpack/dev.config.js b/webpack/dev.config.js index 664e55d..d2dad16 100644 --- a/webpack/dev.config.js +++ b/webpack/dev.config.js @@ -1,105 +1,106 @@ +/* eslint-disable no-undef */ const path = require('path'); const webpack = require('webpack'); module.exports = { - devtool: 'cheap-module-source-map', + devtool: 'cheap-module-source-map', - entry: { - 'DPlayer': './src/index.js' - }, - - output: { - path: path.resolve(__dirname, '..', 'dist'), - filename: '[name].js', - library: '[name]', - libraryTarget: 'umd', - umdNamedDefine: true, - publicPath: '/' - }, - - resolve: { - modules: ['node_modules'], - extensions: ['.js', '.scss'] - }, - - module: { - strictExportPresence: true, - rules: [ - { - test: /\.js$/, - enforce: 'pre', - loader: require.resolve('eslint-loader'), - include: path.resolve(__dirname, '../src'), - }, - { - test: /\.js$/, - use: [ - { - loader: require.resolve('babel-loader'), - options: { - cacheDirectory: true, - presets: ['env'] - } - } - ] - }, - { - test: /\.scss$/, - use: [ - require.resolve('style-loader'), - { - loader: require.resolve('css-loader'), - options: { - importLoaders: 1 - } - }, - { - loader: require.resolve('postcss-loader'), - options: { - ident: 'postcss' - } - }, - require.resolve('sass-loader') - ] - }, - { - test: /\.(png|jpg)$/, - loader: require.resolve('url-loader'), - options: { - 'limit': 40000 - } - } - ] - }, - - devServer: { - compress: true, - contentBase: path.resolve(__dirname, '..', 'demo'), - clientLogLevel: 'none', - quiet: false, - open: true, - historyApiFallback: { - disableDotRule: true + entry: { + 'DPlayer': './src/index.js' }, - watchOptions: { - ignored: /node_modules/ + + output: { + path: path.resolve(__dirname, '..', 'dist'), + filename: '[name].js', + library: '[name]', + libraryTarget: 'umd', + umdNamedDefine: true, + publicPath: '/' + }, + + resolve: { + modules: ['node_modules'], + extensions: ['.js', '.scss'] + }, + + module: { + strictExportPresence: true, + rules: [ + { + test: /\.js$/, + enforce: 'pre', + loader: require.resolve('eslint-loader'), + include: path.resolve(__dirname, '../src'), + }, + { + test: /\.js$/, + use: [ + { + loader: require.resolve('babel-loader'), + options: { + cacheDirectory: true, + presets: ['env'] + } + } + ] + }, + { + test: /\.scss$/, + use: [ + require.resolve('style-loader'), + { + loader: require.resolve('css-loader'), + options: { + importLoaders: 1 + } + }, + { + loader: require.resolve('postcss-loader'), + options: { + ident: 'postcss' + } + }, + require.resolve('sass-loader') + ] + }, + { + test: /\.(png|jpg)$/, + loader: require.resolve('url-loader'), + options: { + 'limit': 40000 + } + } + ] + }, + + devServer: { + compress: true, + contentBase: path.resolve(__dirname, '..', 'demo'), + clientLogLevel: 'none', + quiet: false, + open: true, + historyApiFallback: { + disableDotRule: true + }, + watchOptions: { + ignored: /node_modules/ + } + }, + + plugins: [ + new webpack.NamedModulesPlugin() + ], + + node: { + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty' + }, + + performance: { + hints: false } - }, - - plugins: [ - new webpack.NamedModulesPlugin() - ], - - node: { - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty' - }, - - performance: { - hints: false - } }; diff --git a/webpack/prod.config.js b/webpack/prod.config.js index 80503f4..17749d1 100644 --- a/webpack/prod.config.js +++ b/webpack/prod.config.js @@ -1,107 +1,108 @@ +/* eslint-disable no-undef */ const path = require('path'); const webpack = require('webpack'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = { - bail: true, + bail: true, - devtool: 'source-map', + devtool: 'source-map', - entry: { - 'DPlayer': './src/index.js' - }, + entry: { + 'DPlayer': './src/index.js' + }, - output: { - path: path.resolve(__dirname, '..', 'dist'), - filename: '[name].min.js', - library: '[name]', - libraryTarget: 'umd', - umdNamedDefine: true, - publicPath: '/' - }, + output: { + path: path.resolve(__dirname, '..', 'dist'), + filename: '[name].min.js', + library: '[name]', + libraryTarget: 'umd', + umdNamedDefine: true, + publicPath: '/' + }, - resolve: { - modules: ['node_modules'], - extensions: ['.js', '.scss'] - }, + resolve: { + modules: ['node_modules'], + extensions: ['.js', '.scss'] + }, - module: { - strictExportPresence: true, - rules: [ - { - test: /\.js$/, - enforce: 'pre', - loader: require.resolve('eslint-loader'), - include: path.resolve(__dirname, '../src'), - }, - { - test: /\.js$/, - use: [ - require.resolve('template-string-optimize-loader'), - { - loader: require.resolve('babel-loader'), - options: { - compact: true, - presets: ['env'] + module: { + strictExportPresence: true, + rules: [ + { + test: /\.js$/, + enforce: 'pre', + loader: require.resolve('eslint-loader'), + include: path.resolve(__dirname, '../src'), + }, + { + test: /\.js$/, + use: [ + require.resolve('template-string-optimize-loader'), + { + loader: require.resolve('babel-loader'), + options: { + compact: true, + presets: ['env'] + } + } + ] + }, + { + test: /\.scss$/, + use: ExtractTextPlugin.extract({ + fallback: require.resolve('style-loader'), + use: [ + { + loader: require.resolve('css-loader'), + options: { + importLoaders: 1, + minimize: true, + sourceMap: true + } + }, + { + loader: require.resolve('postcss-loader'), + options: { + ident: 'postcss' + } + }, + require.resolve('sass-loader') + ] + }) + }, + { + test: /\.(png|jpg)$/, + loader: require.resolve('url-loader'), + options: { + 'limit': 40000 + } } - } ] - }, - { - test: /\.scss$/, - use: ExtractTextPlugin.extract({ - fallback: require.resolve('style-loader'), - use: [ - { - loader: require.resolve('css-loader'), - options: { - importLoaders: 1, - minimize: true, - sourceMap: true - } + }, + + plugins: [ + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false }, - { - loader: require.resolve('postcss-loader'), - options: { - ident: 'postcss' - } + output: { + comments: false, + ascii_only: true }, - require.resolve('sass-loader') - ] + sourceMap: true + }), + new ExtractTextPlugin({ + filename: '[name].min.css' }) - }, - { - test: /\.(png|jpg)$/, - loader: require.resolve('url-loader'), - options: { - 'limit': 40000 - } - } - ] - }, + ], - plugins: [ - new webpack.optimize.UglifyJsPlugin({ - compress: { - warnings: false - }, - output: { - comments: false, - ascii_only: true - }, - sourceMap: true - }), - new ExtractTextPlugin({ - filename: '[name].min.css' - }) - ], - - node: { - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - } + node: { + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty', + } };