首页 > 解决方案 > 我的 Webpack Encore 只加载文件名,不加载文件内容?

问题描述

我在 JS 文件中有这样的东西:

const icon = require('path-to.svg').default;
div.innerHTML = icon;

当我使用带有规则test: /\.(svg)$/, loader: 'raw-loader'的默认 Webpack 5.6.0 构建资产时,结果非常棒:

<div><svg>...</svg></div>

但是当我使用带有(也没有)规则的 Symfony Webpack Encore(最新)时,结果是:

<div>path-to.svg</div>

只有文件名!不是文件内容!

为什么?如何使用 Webpack Encore 获得与使用普通 Webpack 相同的结果?

标签: symfonywebpackwebpack-encore

解决方案


只需通过 yarn\npm 添加 raw-loader 并将其添加到所需路径:

const icon = require('!raw-loader!path-to.svg').default;

推荐阅读