在流星内导入svg文件

时间:2017-06-28 00:55:59

标签: javascript reactjs meteor svg

我正在使用meteor +作为前端和后端的项目进行工作。

对于前端用户界面,我使用的是元素反应(https://eleme.github.io/element-react/#/en-US/quick-start),这非常酷且非常棒。但是,当我尝试将元素反应导入到我的项目中时(按照元素反应主页的快速启动中的指示),meteor无法编译静态文件并返回"未捕获错误:找不到模块' ./资产/ error.svg''"这个文件确实存在并且具有正确的相对路径。

是否有遗漏或流星中我们根本无法使用"要求(' ./ assets / error.svg')"加载svg图像?

1 个答案:

答案 0 :(得分:1)

根据Meteor论坛中的this post

您可以使用Meteor方法和Assets API之类的东西来获取服务器中的大部分数据。像

这样的东西

<强> /server/main.js

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

<强> /client/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')