首页 > 解决方案 > 如何为节点模块提供 polyfill

问题描述

我正在尝试在 NodeJS/express 服务器中使用 unsplash-js 模块。正如文档所说:“这个库依赖于 fetch 向 Unsplash API 发出请求。对于不支持 fetch 的环境,您需要提供一个 polyfill”。我已经尝试过类似的东西,我很羞于展示,但为了学习,我会

const Unsplash = require('unsplash-js').default;
const fetch = require('node-fetch');

Unsplash.prototype.fetch = fetch;

const unsplash = new Unsplash({
  applicationId: process.env.UNSPLASH_API_KEY,
});

还有这个

Node.prototype.fetch = fetch;

但当然,没有任何效果。我怎么做?

标签: javascriptnode.jsexpresspolyfills

解决方案


您需要将 fetch 设置为全局变量,如下所示:

global.fetch = require('node-fetch')

推荐阅读