无法将 SVG 用作 NextJS 应用程序和 Storybook 的模块(使用绝对路径导入)。经过多次尝试设置,我能够在 Next 或 Storybook 中导入 SVG,但不能同时导入两者。我将此设置用于babel-plugin-inline-react-svg:
// .babelrc
{
...
"plugins": [
...
"inline-react-svg"
]
}
Run Code Online (Sandbox Code Playgroud)
使用此插件 Storybook 不需要任何配置,并且此示例代码可以按预期工作:
import Wrapper from '../../../components/Wrapper';
import IconSVG from '../../../icons/sandwich.svg';
export const WrappedSVG = () => (
<Wrapper>
<IconSVG />
</Wrapper>
);
Run Code Online (Sandbox Code Playgroud)
但以下情况则不然:
import Wrapper from 'components/Wrapper';
import IconSVG from 'icons/sandwich.svg';
export const WrappedSVG = () => (
<Wrapper>
<IconSVG />
</Wrapper>
);
Run Code Online (Sandbox Code Playgroud)
正在处理包装器,但未处理图标:Cannot find module
这是svgr设置:
// next.config.js
module.exports = { …Run Code Online (Sandbox Code Playgroud)