2017-05-16 139 views
0

中使用github musicmetadata library在某些離子2音樂播放器上工作。我想要一種閱讀音樂文件的媒體標籤的方式,並且我發現musicmetadata會很好。下面是根據文檔如何使用它:如何在離子2

var fs = require('fs'); 
var mm = require('musicmetadata'); 

// create a new parser from a node ReadStream 
var parser = mm(fs.createReadStream('sample.mp3'), function (err, metadata) { 
    if (err) throw err; 
    console.log(metadata); 
}); 

這裏的問題是fs.createReaderStream拋出一個異常:webpack_require_i,我不知道是什麼吧。所以我想知道有沒有辦法讓這個工作在離子2或是否有任何其他媒體標籤閱讀器可以使用離子2。

回答

0

看起來像你使用的是this library

要導入打字稿,您需要庫的類型聲明。它似乎可用here。您將在DefinitelyTyped中找到大多數JavaScript庫的類型聲明。

務必:

npm install --save-dev @types/musicmetadata 

這樣的聲明另存爲dev的依賴關係,你不會transpiling到JavaScript之後需要它。這裏是你的類型聲明file

在你的代碼,

import * as fs from "fs"; 
import * as mm from "musicmetadata"; 

let parser = mm(fs.createReadStream('sample.mp3'), (err, metadata) => { 
    if (err) throw err; 
    console.log(metadata); 
}); 
+0

你的榜樣時,出現了: –

+0

運行error__WEBPACK_IMPORTED_MODULE_0_fs __ createReadStream不是一個函數 –

+0

嗯.. FS是一個節點模塊服務器端..不認爲它包含在瀏覽器中 –