在meteor中导入svg文件

IT技术 javascript reactjs meteor svg
2021-04-29 04:14:22

我正在开发一个使用meteor + react 作为前端和后端的项目。

对于前端 UI,我使用的是 element-react ( https://eleme.github.io/element-react/#/en-US/quick-start ),这真的很酷也很棒。但是,当我尝试将 element-react 导入我的项目时(如 element-react 主页的快速入门中所述),meteor 无法编译静态文件并返回“未捕获的错误:找不到module './assets/error.svg' '" 文件确实存在并且具有正确的相对路径。

是否缺少某些东西或在meteor 中我们根本无法使用“require('./assets/error.svg')”来加载svg 图像?

1个回答

根据Meteor 论坛中的这篇帖子

不过,您可以使用 Meteor 方法和 Assets API 之类的东西从您的服务器获取大部分数据。就像是

/服务器/main.js

Meteor.methods({
  'svg.get'(data) {
    return Assets.getText(data.path)
  }
})

/客户端/main.js

  const getSVG = async (path) => {
    return await new Promise((resolve, reject) => {
      Meteor.call('svg.get', { path }, (err, res) => {
        if (err) reject('Something went wrong')
        resolve(res)
      })
    })
  }

const SVG = await getSVG('some/path/relative/to/private/file.svg')