diff options
Diffstat (limited to 'neo/webpack.config.js')
-rw-r--r-- | neo/webpack.config.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/neo/webpack.config.js b/neo/webpack.config.js new file mode 100644 index 0000000..5aecf1e --- /dev/null +++ b/neo/webpack.config.js @@ -0,0 +1,65 @@ +const path = require('path') + +const { CleanWebpackPlugin } = require('clean-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') + +module.exports = { + context: path.resolve(__dirname, 'src'), + + devServer: { + contentBase: path.resolve(__dirname, 'dist') + }, + + devtool: 'inline-source-map', + + entry: { + index: './index.js', + }, + + module: { + rules: [ + { + test: /\.(eot|jpg|png|svg|ttf|webp|woff2?)$/, + loader: 'file-loader', + options: { + name: 'assets/[name].[contenthash:8].[ext]' + } + }, + { + test: /\.(c|sa|sc)ss$/, + use: [ + 'file-loader?name=[name].[contenthash:8].css', + 'extract-loader', + { + loader: 'css-loader', + options: { + importLoaders: 1 + } + }, + { + loader: 'postcss-loader', + options: { + ident: 'postcss', + plugins: () => [ + require('cssnano')({ preset: 'default' }), + require('postcss-preset-env')() + ] + } + } + ], + }, + ], + }, + + output: { + filename: '[name].[contenthash:8].js', + path: path.resolve(__dirname, 'dist'), + }, + + plugins: [ + new CleanWebpackPlugin(), + new HtmlWebpackPlugin({ + template: 'index.html' + }) + ] +}
\ No newline at end of file |