开发者问题收集

未捕获的类型错误:使用 import { cloudinary } from "cloudinary" 时无法读取未定义的属性(读取“split”)

2022-12-14
474

我以前从未遇到过这种情况。

我正在使用 Meteor.js

步骤 1. Meteor npm install cloudinary 步骤 2. 在客户端文件中,我导入包 import { Cloudinary } from "cloudinary";

当我在本地运行 Meteor 时,出现以下错误:

Uncaught TypeError: Cannot read properties of undefined (reading 'split')

有什么想法吗?

2个回答

这里很可能发生的情况是,您正在将一个只能在服务器上运行的包导入到客户端环境中,而服务器环境中预期可用的某些东西在客户端上不可用。

如果您想在客户端使用 cloudinary,您需要使用他们的一个客户端库,要么是他们的旧版 cloudinary-core ,要么是他们的新 sdk @cloudinary/url-gen 。当然,您仍然需要在服务器上使用 cloudinary 包来创建方法等,以便签署您的上传或通过您的服务器将上传代理到 cloudinary。

如果您想绕过其中一些工作,您可以使用 socialize:cloudinary 包,它为您完成了相当多的设置。

https://packosphere.com/socialize/cloudinary

Kelly Copley
2022-12-15

正如 Kelly 在回复中提到的,您正在为前端应用程序导入后端包。

Cloudinary 没有为 Meteor 构建的 SDK,但您仍然可以使用 Javascript SDK。

这是 Cloudinary 的 Javascript SDK 的文档: https://cloudinary.com/documentation/javascript_integration

John
2022-12-15