Laravel 5.4引入了laravel混合物和webpack。没有明确的文档来处理laravel混合中的图像(比如,它是如何工作的,并根据我们的需要定制它)。由于它没有像我预期的那样工作,我想为我当前的项目禁用它。
我怎么能禁用它?
我尝试删除webpack.config.js中的以下代码:
{
test: /\.(png|jpg|gif)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
但运行命令npm run dev
会产生此错误:
您可能需要适当的加载程序来处理此文件类型。
答案 0 :(得分:5)
与laravel mix v0.8一样,有简单的api选项可以做到。要在webpack.mix.js
mix.options({
processCssUrls: false
});
解决方案1:禁用网址()处理
url()被解释为css-loader导入。目前CSS-Loader是一种全有或全无的方法,所以我们需要禁用所有url()处理,这样做..
打开node_modules\laravel-mix\setup\webpack.config.js
并进行以下更改
{ loader: 'css-loader' + sourceMap },
替换为
{ loader: 'css-loader?url=false' + sourceMap.replace("?", "&") },
解决方案2:在url()中使用绝对链接
以/
开头的网址不会被处理,例如:url(/images/something.jpg)
。如果您的项目支持以/
开头的网址,则可以使用,因为它不存在任何问题。