-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack.mix.js
44 lines (43 loc) · 1.51 KB
/
webpack.mix.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const mix = require('laravel-mix');
const workboxPlugin = require('workbox-webpack-plugin');
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.webpackConfig({
plugins: [
new workboxPlugin.GenerateSW({
// globDirectory: `${__dirname}/public`,
// globPatterns: [
// '**/*.{css,js,png,jpg,svg}',
// ],
// swSrc: './resources/js/sw.js',
swDest: path.join(`${__dirname}/public`, 'sw.js'),
clientsClaim: true,
skipWaiting: true,
runtimeCaching: [
{
urlPattern: new RegExp(`${process.env.APP_URL}`),
handler: 'StaleWhileRevalidate',
},
{
urlPattern: new RegExp(`${process.env.APP_URL}/home`),
handler: 'StaleWhileRevalidate',
},
{
urlPattern: new RegExp(`${process.env.APP_URL}/login`),
handler: 'StaleWhileRevalidate',
}
]
})
]
})
.disableNotifications();