mirror of
				https://github.com/KevinMidboe/planetposen.git
				synced 2025-10-29 17:50:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| const VueLoaderPlugin = require("vue-loader/lib/plugin");
 | |
| const MiniCSSExtractPlugin = require("mini-css-extract-plugin");
 | |
| const HtmlPlugin = require("html-webpack-plugin");
 | |
| const helpers = require("./helpers");
 | |
| 
 | |
| // const {GenerateSW} = require('workbox-webpack-plugin');
 | |
| 
 | |
| const webpackConfig = function(isDev) {
 | |
|   return {
 | |
|     resolve: {
 | |
|       extensions: [".js", ".vue"],
 | |
|       alias: {
 | |
|         vue$: isDev ? "vue/dist/vue.min.js" : "vue/dist/vue.min.js",
 | |
|         "@": helpers.root("frontend")
 | |
|       }
 | |
|     },
 | |
|     module: {
 | |
|       rules: [
 | |
|         {
 | |
|           test: /\.vue$/,
 | |
|           use: [
 | |
|             {
 | |
|               loader: "vue-loader",
 | |
|               options: {
 | |
|                 loaders: {
 | |
|                   scss: "vue-style-loader!css-loader!sass-loader",
 | |
|                   sass: "vue-style-loader!css-loader!sass-loader?indentedSyntax"
 | |
|                 }
 | |
|               }
 | |
|             }
 | |
|           ]
 | |
|         },
 | |
|         {
 | |
|           test: /\.js$/,
 | |
|           loader: "babel-loader",
 | |
|           include: [helpers.root("src")]
 | |
|         },
 | |
|         {
 | |
|           test: /\.css$/,
 | |
|           use: [
 | |
|             isDev ? "vue-style-loader" : MiniCSSExtractPlugin.loader,
 | |
|             { loader: "css-loader", options: { sourceMap: isDev } }
 | |
|           ]
 | |
|         },
 | |
|         {
 | |
|           test: /\.scss$/,
 | |
|           use: [
 | |
|             isDev ? "vue-style-loader" : MiniCSSExtractPlugin.loader,
 | |
|             { loader: "css-loader", options: { sourceMap: isDev } },
 | |
|             { loader: "sass-loader", options: { sourceMap: isDev } }
 | |
|           ]
 | |
|         },
 | |
|         {
 | |
|           test: /\.sass$/,
 | |
|           use: [
 | |
|             isDev ? "vue-style-loader" : MiniCSSExtractPlugin.loader,
 | |
|             { loader: "css-loader", options: { sourceMap: isDev } },
 | |
|             { loader: "sass-loader", options: { sourceMap: isDev } }
 | |
|           ]
 | |
|         },
 | |
|         {
 | |
|           test: /\.woff(2)?(\?[a-z0-9]+)?$/,
 | |
|           loader: "url-loader?limit=10000&mimetype=application/font-woff"
 | |
|         },
 | |
|         {
 | |
|           test: /\.(ttf|eot|svg)(\?[a-z0-9]+)?$/,
 | |
|           loader: "file-loader"
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     plugins: [
 | |
|       new VueLoaderPlugin(),
 | |
|       // new GenerateSW({
 | |
|       //   swSrc: "./public/service-worker.js",
 | |
|       //   swDest: './sw.js',
 | |
|       //   clientsClaim: true,
 | |
|       //   skipWaiting: true,
 | |
|       //   runtimeCaching: [{
 | |
|       //     urlPattern: new RegExp('https://www.google-analytics.com/analytics.js'),
 | |
|       //     handler: 'StaleWhileRevalidate'
 | |
|       //   }]
 | |
|       // })
 | |
|     ]
 | |
|   };
 | |
| };
 | |
| 
 | |
| module.exports = webpackConfig;
 |