每次出现此错误时,我都试图在NextJS项目中导入svg
./assets/aboutimg.svg 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="578" height="1028" viewBox="0 0 578 1028">
| <image id="_64538565_2370063099695596_8091233071539421184_n" data-name="64538565_2370063099695596_8091233071539421184_n" width="578" height="1028" xlink:href="
我尝试过使用next-images和svgr。我将在下面粘贴我的About.js代码,如果有人能让我知道我做错了什么,那将是很好的选择。
import LayoutNoLogo from '../comps/LayoutNoLogo'
import AboutImg from '../assets/aboutimg.svg'
const About = () => {
return (
<LayoutNoLogo>
<div className="row">
<div className="column-1">
<img src={AboutImg} />
</div>
<div className="column-2">
<h1>About</h1>
</div>
</div>
<style jsx>{`
`}</style>
</LayoutNoLogo>
)
}
export default About;
答案 0 :(得分:1)
我终于在我的项目中使用了 file-loader
来使用 SVG 图像。
yarn add webpack
、yarn add file-loader -D
next.config.js
:module.exports = {
//...other configs
webpack: (config, {}) => {
config.module.rules.push({
test: [/\.svg$/, /\.woff$/],
loader: 'file-loader',
options: {
name: '[name].[hash:8].[ext]',
publicPath: `/_next/static/images/`, //specify the base path
outputPath: 'static/images', //and output path
}
})
}
}
import img from '../assets/image.svg'
答案 1 :(得分:0)
使用下一张图片并添加正确的模块导出功能使我可以使用所有文件类型的图片。