Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
Javascript 如何为svg使用webpack文件加载程序和svg内联加载程序?_Javascript_Svg_Webpack_Webpack File Loader_Inline Svg - Fatal编程技术网

Javascript 如何为svg使用webpack文件加载程序和svg内联加载程序?

Javascript 如何为svg使用webpack文件加载程序和svg内联加载程序?,javascript,svg,webpack,webpack-file-loader,inline-svg,Javascript,Svg,Webpack,Webpack File Loader,Inline Svg,我在互联网上搜索,寻找使用文件加载器和svg内联加载器加载svg的解决方案。更确切地说,我希望两个选项都单独使用,但我似乎无法正确使用webpack.config。这是我目前的配置: module.exports={ 条目:{ app:Path.resolve(uu dirname,“../src/scripts/index.js”) }, 模块:{ 规则:[ { 测试:/\.mjs$/,, 包括:/node\u模块/, 键入:“javascript/auto” }, { 测试:/\(svg)(

我在互联网上搜索,寻找使用文件加载器和svg内联加载器加载svg的解决方案。更确切地说,我希望两个选项都单独使用,但我似乎无法正确使用webpack.config。这是我目前的配置:

module.exports={
条目:{
app:Path.resolve(uu dirname,“../src/scripts/index.js”)
},
模块:{
规则:[
{
测试:/\.mjs$/,,
包括:/node\u模块/,
键入:“javascript/auto”
},
{
测试:/\(svg)(\?*)$/,
使用:{
加载器:“svg内联加载器?类前缀”,
}
},
{
测试:/\(ico | jpg | jpeg | png | gif | eot | svg | otf | webp | ttf | woff | woff2)(\?*)$/,
使用:{
加载器:“文件加载器”,
选项:{
名称:'[path][name].[ext]'
}
}
}
]
},
};
我想要实现的是能够同时做到:

它很好地将svg作为img加载

从“./assets/img/my.svg”导入mySvg
这给了我svg的内容

我当前配置的问题是,一个会破坏另一个。我可能正在做一些愚蠢的事情,或者以错误的方式实现这一点,无论哪种方式,我都需要建议、帮助或任何可能使可能性发挥作用的东西。。。或者我必须坚持一个,这不是我的偏好

提前谢谢

哦,我的临时解决方案不是那么首选,它是从配置中删除
svg内联加载程序
,然后使用以下方法将它们导入我的js中:


从“-!svg内联加载程序?classPrefix../assets/img/my.svg”导入mySvg

你可以试试这样的东西

 module: {
      rules: [{
        test: /\.(svg)(\?.*)?$/,
        loader: 'raw-loader'
      }]
    },

如果我正在正确阅读
raw加载程序
github文档,则其工作原理与
svg内联加载程序
相同。它可以正常工作,但是如果我想使用内联和