【问题标题】:How to resolve the 'fs' module required by Angular for Vimeo SDK如何解决 Angular for Vimeo SDK 所需的“fs”模块
【发布时间】:2020-10-04 20:14:08
【问题描述】:

我正在尝试构建一个 Angular 应用程序,让用户直接上传到 vimeo,然后查看来自 Vimeo 的文件内容。

我是第一次这样做,因此遵循官方 vimeo guide 和 SDK。

但是,在我从 npm 安装 vimeo 包后,应用程序无法编译说

ERROR in ./node_modules/vimeo/lib/vimeo.js
Module not found: Error: Can't resolve 'fs' in 'D:\MySpace\Code\1-nagarro-skills-web\node_modules\vimeo\lib' 

Angular 的节点构建似乎从 v6 开始不支持文件系统模块。然而,vimeo 模块需要它来运行。

我怎样才能解决这个问题,让 vimeo 模块在我的 Angular 应用程序上工作。

我尝试寻找解决方案,发现其中一种方法是在 webpack 配置中设置fs: empty。由于不支持 webpack 弹出,现在这也是不可能的。

有人可以指导解决这个问题吗?

P.S:经过更深入的研究,我发现 Angular 团队已经从为浏览器提供的节点中删除了对许多模块的支持,并在它们的位置提供了一个空对象。我理解删除浏览器不使用的模块(如“os”和其他模块)的重要性。然而,当用户同意时,文件上传或文件读取似乎是一个有用的案例,就像这里的 vimeo sdk 一样。

难道不能在浏览器上使用 vimeo SDK 吗?

【问题讨论】:

    标签: node.js angular webpack fs vimeo-api


    【解决方案1】:

    vimeo SDK 设计用于使用 PHP、NodeJS 或 Python 实现的服务器端环境。对象fs 引用NodeJS 文件系统实用程序,因此在浏览器中不可用。由于 Angular 是一个浏览器应用程序,因此这两者是不兼容的。在后端应用程序中使用 vimeo SDK,在前端 Angular 应用程序中使用 vimeo Player SDK

    【讨论】:

    • 谢谢@Felix。我自己也有类似的理解。但是,我不明白的是,如果我可以从用户浏览器请求视频文件并将其发送到我的服务器端设置,为什么不能直接将其发送到 vimeo 服务器。
    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 2020-04-18
    • 2019-09-10
    • 2021-11-13
    • 2021-09-03
    • 2018-11-22
    • 2021-12-23
    • 2018-07-20
    相关资源
    最近更新 更多