2017-05-16 170 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是一个节点模块服务器端..不认为它包含在浏览器中 –