123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
- const path = require('path');
- const { mdsvex } = require('mdsvex')
- const mode = process.env.NODE_ENV || 'development';
- const prod = mode === 'production';
- module.exports = {
- entry: {
- bundle: ['./src/main.js']
- },
- resolve: {
- alias: {
- svelte: path.resolve('node_modules', 'svelte')
- },
- extensions: ['.mjs', '.js', '.svelte','.svx'],
- mainFields: ['svelte', 'browser', 'module', 'main']
- },
- output: {
- path: __dirname + '/public',
- filename: 'bundle.js',
- chunkFilename: 'bundle.[id].js'
- },
- module: {
- rules: [
- {
- test: /.(svelte|svx)$/,
- use: {
- loader: 'svelte-loader',
- options: {
- emitCss: true,
- hotReload: true,
- preprocess: mdsvex()
- }
- }
- },
- {
- test: /\.css$/,
- use: [
- /**
- * MiniCssExtractPlugin doesn't support HMR.
- * For developing, use 'style-loader' instead.
- * */
- prod ? MiniCssExtractPlugin.loader : 'style-loader',
- 'css-loader'
- ]
- }
- ]
- },
- mode,
- plugins: [
- new MiniCssExtractPlugin({
- filename: 'bundle.css'
- })
- ],
- devtool: prod ? false: 'source-map'
- };
|