2017-06-28 35 views
1

我正在使用流星+反應作爲前後端的項目。流星內導入svg文件

對於前端用戶界面,我使用了元素反應(https://eleme.github.io/element-react/#/en-US/quick-start),它非常酷,很棒。然而,當我試圖將元素反應導入到我的項目中時(正如element-react homepage的快速入門所述),流星未能編譯靜態文件並返回「Uncaught Error:Can not find module」./assets/error.svg' ''這個文件確實存在並且具有正確的相對路徑。

有什麼遺漏或流星我們根本​​無法使用「require('./ assets/error.svg')」來加載svg圖像嗎?

回答

1

根據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') 
+1

感謝您的快速幫助davcs86!此解決方案確實提供了一種在客戶端加載svg數據的方法,但是,如果我想導入某個加載svg的模塊,我應該在相應的node_module/element-react/dist文件夾中執行同樣的操作嗎? – nicemayi