首页 > 解决方案 > 在 Angular 中创建 javascript 对象时出错

问题描述

我正在尝试在我的 Angular 9 项目中使用 javascript 代码 cors_upload.js视频上传到 youtube。但是,我收到一个错误:

src_assets_js_cors_upload_js__WEBPACK_IMPORTED_MODULE_1__.MediaUploader is not a constructor.

以下是我已经做过的事情:

在 cors_upload.js 中,MediaUploader 被声明为构造函数:

/**
 * ...
 * @constructor
 * @param {object} options Hash of options
 * @param {string} options.token Access token
 * @param {blob} options.file Blob-like item to upload
 * @param {string} [options.fileId] ID of file if replacing
 * @param {object} [options.params] Additional query parameters
 * ...
 */
var MediaUploader = function (options) { 

... 

}

标签: javascriptangularyoutube-apiyoutube-data-api

解决方案


我发现了这个问题。我试图从服务创建 javascript 对象。那没有用。我将创作移至组件。现在,我可以创建 javascript 对象了。

我在声明组件之前将 MediaUploader 声明为一种类型

declare var MediaUploader any

然后在我的代码中我可以创建对象:

var uploader = new MediaUploader(...)
uploader.upload()

我仍然想知道如何从服务创建 Javascript 对象。可能吗?如果不是,为什么?现在,在我的代码中我可以继续。


推荐阅读