Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let mix = require('laravel-mix');
- const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin');
- const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
- const ChunkProgressWebpackPlugin = require('chunk-progress-webpack-plugin');
- mix.webpackConfig({
- plugins: [
- new ChunkProgressWebpackPlugin(),
- new BundleAnalyzerPlugin(),
- new SWPrecacheWebpackPlugin({
- cacheId: 'pwa',
- filename: 'service-worker.js',
- staticFileGlobs: ['public/**/*.{css,eot,svg,ttf,woff,woff2,js,html,mp3}'],
- minify: true,
- stripPrefix: 'public/',
- handleFetch: true,
- dynamicUrlToDependencies: {
- '/': ['resources/views/spa.blade.php'],
- },
- staticFileGlobsIgnorePatterns: [/\.map$/, /mix-manifest\.json$/, /manifest\.json$/, /sw\.js$/],
- navigateFallback: '/',
- runtimeCaching: [
- {
- urlPattern: /^https:\/\/fonts\.googleapis\.com\//,
- handler: 'cacheFirst'
- },
- {
- urlPattern: /^https:\/\/www\.thecocktaildb\.com\/images\/media\/drink\/(\w+)\.jpg/,
- handler: 'cacheFirst'
- }
- ],
- }),
- ],
- output: {
- // chunkFilename: path.join('js', '[name].[hash].js'),
- publicPath: '/',
- chunkFilename: "js/[name].[hash].js"
- }
- });
- mix.js('resources/js/app.js', 'public/js')
- mix.sass('resources/sass/app.scss', 'public/css')
- mix.version()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement