-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathwebpack.mix.js
46 lines (43 loc) · 1.26 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
45
46
const mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
| 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.
|
*/
const assetsPath = 'assets';
const resources = 'src/Resources';
mix.webpackConfig({
resolve: {
extensions: ['.js', '.vue'],
alias: {
'@': __dirname + `/${resources}/js`, // for alias imports
'@BaseUI': __dirname + `/${resources}/js/components/BaseUI`,
'@Pages': __dirname + `/${resources}/js/components/Pages`,
}
},
module: {
rules: [
{
test: /\.pug$/,
oneOf: [
{
resourceQuery: /^\?vue/,
use: ['pug-plain-loader']
},
{
use: ['raw-loader', 'pug-plain-loader']
}
]
}
]
}
})
.copy(`node_modules/@mdi`, `${assetsPath}/plugins/@mdi`)
.js(`${resources}/js/app.js`, `${assetsPath}/js`)
.sass(`${resources}/sass/app.scss`, `${assetsPath}/css`)
.copy(`${resources}/images`, `${assetsPath}/images`);