Laravel 5.4 引入了 laravel mix 和 webpack。没有关于在 laravel mix 中处理图像的明确文档(例如,它是如何工作的以及如何根据我们的需要对其进行自定义)。由于它没有像我预期的那样工作,我想为我当前的项目禁用它。
我怎样才能禁用它?
我尝试通过删除 webpack.config.js 中的以下代码:
{
test: /\.(png|jpg|gif)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
但是运行命令 npm run dev
会产生这个错误:
You may need an appropriate loader to handle this file type.
最佳答案
Laravel Mix 0.8 及以上版本
在 laravel mix v0.8 上,有简单的 api 选项可以做到这一点。要禁用 url() 文件加载器,请在 webpack.mix.js
mix.options({
processCssUrls: false
});
Laravel Mix 0.7 及以下版本
解决方案 1:禁用 url() 处理
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("?", "&") },
方案二:在url()中使用绝对链接
以 /
开头的 URL 将不会被处理例如:url(/images/something.jpg)
。如果你的项目支持以/
开头的url,你可以直接使用,不会有任何问题。
关于php - Laravel Mix 为 url() 禁用文件加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41907468/