【问题标题】:import svg files inside meteor在流星中导入svg文件
【发布时间】:2017-06-28 00:55:59
【问题描述】:

我正在使用流星+反应作为前端和后端的项目。

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

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

【问题讨论】:

    标签: javascript reactjs meteor svg


    【解决方案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') 
    

    【讨论】:

    • 感谢您的快速帮助 davcs86!该解决方案确实提供了一种在客户端加载 svg 数据的方法,但是,如果我想导入一些加载 svg 的模块,我是否也应该在相应的 node_module/element-react/dist 文件夹中做同样的事情?跨度>
    猜你喜欢
    • 2017-09-16
    • 2016-10-31
    • 2018-02-16
    • 2014-12-24
    • 2016-01-26
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2021-02-07
    相关资源
    最近更新 更多