Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 使用带有限制选项的url加载器时,是否有任何理由使用文件加载器?_Webpack_Webpack 4 - Fatal编程技术网

Webpack 使用带有限制选项的url加载器时,是否有任何理由使用文件加载器?

Webpack 使用带有限制选项的url加载器时,是否有任何理由使用文件加载器?,webpack,webpack-4,Webpack,Webpack 4,使用webpack-4 据我所知,如果设置限制选项(它在引擎盖下使用),url加载程序将具有与文件加载程序相同的行为。我注意到,当我使用下面的配置时,我的图像加载被破坏 {test: /\.(jpe?g|gif|bmp|mp3|mp4|ogg|wav|eot|ttf|woff|woff2|png|svg)$/, use: 'url-loader?limit=10000'} {test: /\.(jpe?g|gif|bmp|mp3|mp4|ogg|wav|eot|ttf|woff|woff2|p

使用webpack-4

据我所知,如果设置限制选项(它在引擎盖下使用),url加载程序将具有与文件加载程序相同的行为。我注意到,当我使用下面的配置时,我的图像加载被破坏

{test: /\.(jpe?g|gif|bmp|mp3|mp4|ogg|wav|eot|ttf|woff|woff2|png|svg)$/, use: 'url-loader?limit=10000'}

{test: /\.(jpe?g|gif|bmp|mp3|mp4|ogg|wav|eot|ttf|woff|woff2|png|svg)$/, use: 'file-loader'}
当我移除
文件加载程序时,它工作正常
url加载器
正在捕获**您需要的所有内容。 以下几个问题:

  • 在上面的配置中,文件加载器破坏了url加载器的行为(可能是因为我没有明确指定输出文件夹),我理解得好吗

  • 您真正需要
    文件加载器
    的案例是什么

  • 将两者结合使用(如果有的话)有什么好处

  • 在上面的配置中,文件加载器破坏了url加载器的行为(可能是因为我没有明确指定输出文件夹),我理解得好吗
  • 定义这两个加载程序时,您将具有这两个加载程序的行为,即在大小小于10000字节时将所有文件就地编码为base64字符串,并将所有文件复制到分发目录中

    如果您想要的行为是在大小<10000字节时编码为base64,或者在大小>10000字节时复制到分发文件夹,那么您删除
    文件加载程序
    加载程序声明是正确的

    因为
    url loader
    有一个
    fallback
    选项,它的默认值是
    file loader
    ,如果每个加载程序的目标文件相同,则第二个
    file loader
    声明是不必要的

  • 您真正需要文件加载器的情况是什么
  • 每当您希望将文件复制到dist目录,并在捆绑应用程序中的公共路径中引用该文件的位置时(静态资产将从该路径提供服务;
    publicPath
    webpack conf.property)。例如,如果将
    文件加载器
    配置为复制图像并将其命名为
    [hash].[ext]
    ,则可以执行以下操作:

    const img = require('avatar.jpg')
    console.log(img) // => /public/[hash].jpg
    
  • 当两者结合使用(如果有的话)有什么好处

  • 如果您有始终要复制的文件(
    文件加载器
    )和可能要编码到捆绑文件中的文件(
    url加载器
    ),请使用这两种方法。请注意,不要将两个加载程序都指向相同的文件类型,否则您可能正在复制文件,而这些文件也正通过
    url-loader

    编码到您的包中,因此要恢复它,不应使用url-loader和file-loader指向相同的文件类型,对吗?最后,现在我了解了url加载器和文件加载器之间的区别以及如何使用它们。不知道url加载程序在默认情况下会回退到文件加载程序:D