使用copy / copyDirectory和{{mix()}}
时的未定义索引在资源中创建2个文件夹
/css/afolder/afile.css
/css/another/anotherfile.css
使用以下内容复制文件夹:
`mix.copy('resources/assets/css/', 'public/css', false);`
或
`mix.copyDirectory('resources/assets/css/', 'public/css');`
文件复制正常,但使用时
`{{ mix('css/afolder/afile.css') }}`
或
`{{ mix('css/anotherfolder/anotherfile.css') }}`
返回
未定义的索引:css / afolder / afile.css
未定义的索引:css / anotherfolder / anotherfile.css
文件夹存在:
public/css/afolder/afile.css
public/css/anotherfolder/anotherfile.css
混合清单只显示以下内容
{
"/js/app.js": "/js/app.js?id=0eaf1649511b8f1c3fd9",
"/css/app.css": "/css/app.css?id=a86d86d0b7edd1152cc6"
}
完整的webpackmix文件
let 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.
|
*/
mix.js('resources/assets/js/app.js', 'public/js');
mix.copy('resources/assets/js/', 'public/js', false);
mix.copy('resources/assets/css/', 'public/css', false);
mix.sass('resources/assets/sass/app.scss', 'public/css');
mix.version();
答案 0 :(得分:1)
Webpack不会对copy()
或copyDirectory()
方法下的文件应用版本。因为它们在webpack build之外独立运行。
如果你只是复制它们,你应该使用像简单文件这样的文件,这些文件不是版本。
<link rel="stylesheet" href="{{ asset('css/afolder/afile.css') }}">
mix.version()
将自动对任何已编译的JavaScript,Sass / Less或组合文件进行版本控制。但是,如果您还想将额外文件作为构建的一部分进行版本化,只需将路径或路径数组传递给方法,如下所示:mix.version(['public/js/random.js']);