从公共文件夹反应SVG

时间:2019-11-29 12:48:44

标签: reactjs

我正在尝试从公用文件夹导入svg。

如何使用导入功能?

我尝试过:

import Avatar_1 from './public/avatar_1.svg';

但是我仍然收到“找不到模块:无法解析'./public/avatar_1.svg'”

是否可以使用process.env.PUBLIC_URL

2 个答案:

答案 0 :(得分:0)

我认为无法从src访问公用文件夹,所以我做了以下事情:

function createMyThing(configObject: ConfigObject) {
    const keys = Object.keys(configObject) as (keyof ConfigObject)[];

    return {
        foos: keys.reduce((acc, key) => {
            return {
                ...acc,
                [key]: {
                    convert: configObject[key].oneWay
                }
            }
        }, {}),

        bars: keys.reduce((acc, key) => {
            return {
                ...acc,
                [key]: {
                    deconvert: configObject[key].otherWay
                }
            };

        }, {}),
    } as MyThing;
}

它奏效了。

如何使用它:

import { ReactComponent as Avatar1 } from './assets/avatar_1.svg';

答案 1 :(得分:-1)

在公共目录中

创建'icons'文件夹并使用以下代码:

4.5