Advertisement
Guest User

webpack.mix.js

a guest
Jan 20th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let mix = require('laravel-mix');
  2. const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin');
  3. const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
  4. const ChunkProgressWebpackPlugin = require('chunk-progress-webpack-plugin');
  5. mix.webpackConfig({
  6.     plugins: [
  7.         new ChunkProgressWebpackPlugin(),
  8.         new BundleAnalyzerPlugin(),
  9.         new SWPrecacheWebpackPlugin({
  10.             cacheId: 'pwa',
  11.             filename: 'service-worker.js',
  12.             staticFileGlobs: ['public/**/*.{css,eot,svg,ttf,woff,woff2,js,html,mp3}'],
  13.             minify: true,
  14.             stripPrefix: 'public/',
  15.             handleFetch: true,
  16.             dynamicUrlToDependencies: {
  17.                 '/': ['resources/views/spa.blade.php'],
  18.             },
  19.             staticFileGlobsIgnorePatterns: [/\.map$/, /mix-manifest\.json$/, /manifest\.json$/, /sw\.js$/],
  20.             navigateFallback: '/',
  21.             runtimeCaching: [
  22.                 {
  23.                     urlPattern: /^https:\/\/fonts\.googleapis\.com\//,
  24.                     handler: 'cacheFirst'
  25.                 },
  26.                 {
  27.                     urlPattern: /^https:\/\/www\.thecocktaildb\.com\/images\/media\/drink\/(\w+)\.jpg/,
  28.                     handler: 'cacheFirst'
  29.                 }
  30.             ],
  31.         }),
  32.     ],
  33.     output: {
  34.         // chunkFilename: path.join('js', '[name].[hash].js'),
  35.         publicPath: '/',
  36.         chunkFilename: "js/[name].[hash].js"
  37.     }
  38. });
  39. mix.js('resources/js/app.js', 'public/js')
  40. mix.sass('resources/sass/app.scss', 'public/css')
  41. mix.version()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement