这是我的 typescript 代码:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { FfmpegCommand } from 'fluent-ffmpeg'
async function bootstrap() {
const app = await NestFactory.create(AppModule);
let test
try {
test = new FfmpegCommand('./adventure.mkv');
} catch (error) {
console.log(error);
}
await app.listen(3000);
}
bootstrap();
生成的Javascript代码:
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@nestjs/core");
const app_module_1 = require("./app.module");
const fluent_ffmpeg_1 = require("fluent-ffmpeg");
function bootstrap() {
return __awaiter(this, void 0, void 0, function* () {
const app = yield core_1.NestFactory.create(app_module_1.AppModule);
let test;
try {
test = new fluent_ffmpeg_1.FfmpegCommand('./adventure.mkv');
}
catch (error) {
console.log(error);
}
yield app.listen(3000);
});
}
bootstrap();
//# sourceMappingURL=main.js.map
运行此应用程序时,出现下一个错误:
- main.ts:12消息:“fluent_ffmpeg_1.ffmpegCommand不是构造函数”堆栈:“类型错误:在Generator.next()上\n在已实现的(c:\nest\dist\src\main. js:5:58)上\n在进程._tick回调(内部/进程/下一个_tick.js:68:7)上\n在函数.模块.runMain(内部/模块/cjs/加载程序.js:834:11)上\n在启动时(内部/ Bootstrap /Node.js:283:19)上\n在 Bootstrap NodeJS Core(内部/ Bootstrap /节点. js:622:3)上"*
这是因为这个原始的test = new fluent_ffmpeg_1.ffmpegCommand('./adventure. mkv').当我改变这个只是**test = new fluent_ffmpeg_1('./adventure. mkv')**我没有错误。你知道如何修复它。如果你知道在 typescript 上哪里有ffmpeg示例,请与我分享:)
2条答案
按热度按时间xytpbqjk1#
这很可能是由于
fluent-ffmpeg
导出其组件的方式。尝试按如下方式导入
或
你也可以安装打字,你会得到协助时,与模块的工作
https://www.npmjs.com/package/@types/fluent-ffmpeg
yqlxgs2m2#
请尝试从npm安装类型以获得帮助。
之后,您可以导入它并按如下方式使用: