使用node cli工具作为库(trimp3)

时间:2017-08-01 12:18:21

标签: javascript node.js npm ffmpeg command-line-interface

我找到了以下库,我想在我自己的nodejs文件中使用它:https://github.com/kyr0/trimp3

但是,它是一个cli工具,我想将它用作库。

我如何在我自己的nodejs代码中使用它,并以编程方式使用它(也就是说,不将其作为我的nodejs文件中的cli工具执行,而是直接在节点中执行)。

我希望你理解我的意思。

1 个答案:

答案 0 :(得分:0)

我同意您可以将代码复制到您自己的模块并根据需要使用它的注释,但如果您真的想要添加此依赖项,则可以在本地安装

$ npm install trimp3 --save

然后需要它的libtrimp3.js的完整路径,如:

const trimp = require('./node_modules/trimp3/libtrimp3.js')

您需要根据您调用的位置调整该路径,以确保您拥有正确的相对路径。

**更新**

基于评论,这是一个很好的观点,图书馆希望通过CLI进入信息。然而,这实际上并不难以伪造,因为process.argv只是一个数组,但如果您将其用于其他事情,则可能需要考虑到这一点。在要求trimp3之前(因为在加载文件时解析process.argv很遗憾),你的调用代码必须将数组设置为trimp3所期望的。它将数组切换为2,因此它将跳过数组中的前两项,其余数组将按如下方式解析:

mp3In: argv[0],
mp3Out: argv[1],
beginTime: argv[2],
endTime: argv[3]

因此,如果您在要求trimp3之前设置process.argv = ['', '', 'path/to/input', 'path/to/output', 'beginTime', 'endTime'],那么您就会参与其中。

所有这一切都可以追溯到我最初的意见,即最好可能使用这个库,而是从中学习构建自己的模块。