node-sp-auth需要未定义的Headers构造函数

时间:2018-02-02 13:03:48

标签: node.js sharepoint

我尝试使用node.js的node-sp-auth库访问我们的内部sharepoint,但却遇到了一个严重的错误:

  

ReferenceError:未定义标头

我可以追溯到一个内部函数,它使用具有该名称的构造函数。 似乎对我来说可能有一些依赖缺失?

以下我的代码:

const pnp      = require("sp-pnp-js");

let w = new pnp.Web("https://acmint.myatos.net/PWA/KanbanBoard/");
pnp.sp.web.lists.get().catch(error => {
  console.error(error);
}).then(r => {

console.log(r);
});

1 个答案:

答案 0 :(得分:0)

PnP-JS-Core利用Fetch API执行REST请求。 要消除此错误,您需要将window.fetch的支持带到Node.js,例如使用node-fetch module

以下示例演示如何将node-fetchPnP-JS-Core一起使用:

const pnp = require("sp-pnp-js");

global.fetch = require('node-fetch');
global.Headers = require('node-fetch').Headers;
global.Request = require('node-fetch').Request;


let w = new pnp.Web("https://contoso.sharepoint.com/");
pnp.sp.web.lists.get().catch(error => {
    console.error(error);
}).then(r => {
    console.log(r);
});

对于浏览器方案,请按照#Polyfill section了解如何包含polyfills