Reaction应用程序已发布,但目录(/Assets/Images/)中的图像丢失
My React.js应用已发布,但images
目录(/assets/images/
)中的My Images资产未部署。
已发布站点的结构:
使用npm run build
构建应用程序后:
ASSET-MANIFENT.json:
反应应用结构:
解决方案
我刚刚找到您的站点并检查了来源。如果您在开发工具中检查呈现的页面,您的图像将呈现为<img src="[object Module]">
。
create-react-app
,并且您使用require
导入了您的图像。在最新版本的CRA中,require
返回ES模块而不是字符串,因为在file-loader
中默认启用esModule
选项。
因此,请确保您通过以下方式之一导入图像:
const image = require('../path/to/image.jpg').default;
// OR
import image from '../path/to/image.jpg';
编辑:
由于您已经发送了回购的URL,我可以看到您import images like this:
<div className="greeting-image-div">
<img
alt="saad sitting on table"
src={require('../../assets/images/manOnTable.svg')}
></img>
</div>
如上所述,您需要获取require
d模块的default
属性:
<div className="greeting-image-div">
<img
alt="saad sitting on table"
src={require('../../assets/images/manOnTable.svg').default}
></img>
</div>
...或使用import
:
import manOnTable from '../../assets/images/manOnTable.svg'
// ...
<div className="greeting-image-div">
<img
alt="saad sitting on table"
src={manOnTable}
></img>
</div>
我个人更喜欢import
。
相关文章