You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Stencil组件中引入图片?路径引用失败求助

解决Storybook组件内无法引用公共图片的问题

核心问题在于Storybook不会自动识别项目自定义的公共资源目录,需要先配置静态资源路径,再配合正确的引用方式。

步骤1:配置Storybook静态资源目录

修改.storybook/main.js(或.main.ts),添加staticDirs配置,指向你的public-storybook目录:

module.exports = {
  stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
  addons: ['@storybook/addon-links', '@storybook/addon-essentials'],
  staticDirs: ['../public-storybook'] // 关键配置:将该目录设为静态资源根目录
};

步骤2:使用正确的路径引用图片

配置完成后,所有引用都基于public-storybook目录的根路径编写:

  • 用getAssetPath的写法:
    private defaultProfileImage: string = getAssetPath('images/navbar/default_image.png');
    
  • 直接声明状态的写法:
    @State() defaultProfileImage: string = 'images/navbar/default_image.png';
    
  • img标签直接引用:
    <img src="images/navbar/default_image.png" alt="默认头像" />
    

额外排查点

  • 确认文件实际路径:检查public-storybook/images/navbar/default_image.png是否存在,文件名大小写、扩展名是否完全匹配(比如别把.png写成.PNG)。
  • 清除缓存重启:关闭Storybook,删除node_modules/.cache/storybook目录,再重新启动服务。

内容的提问来源于stack exchange,提问作者happy_story

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:54:58