SharePoint 框架 SPFx ,不导出会员 SP、PnPJs

问题描述 投票:0回答:2

下面是我的代码:

import * as React from 'react';
import styles from './PnpfolderoperationsDemo.module.scss';
import { IPnpfolderoperationsDemoProps } from './IPnpfolderoperationsDemoProps';
import { escape } from '@microsoft/sp-lodash-subset';
import { PrimaryButton } from 'office-ui-fabric-react';
import { sp } from "@pnp/sp/presets/all";

export default class PnpfolderoperationsDemo extends React.Component<IPnpfolderoperationsDemoProps, {}> {
  constructor(props){
    super(props);
    sp.setup({
      spfxContext: this.context
    });
  }
  public render(): React.ReactElement<IPnpfolderoperationsDemoProps> {
    const {
      description,
      isDarkTheme,
      environmentMessage,
      hasTeamsContext,
      userDisplayName
    } = this.props;

对包执行以下命令

npm install @pnp/logging @pnp/common @pnp/odata @pnp/sp --save

使用 pnpjs 出现以下错误:

#Module '"@pnp/sp/presets/all"' has no exported member 'sp'.

enter image description here

有人遇到过类似的情况吗? 谢谢

sharepoint frameworks sharepoint-online spfx pnp-js
2个回答
1
投票

您可能正在使用 pnpjs v3.x 您的代码似乎对 v2.x 有效,在 v3.x 中发生了变化(全局“sp”对象已被弃用)。请查看转换指南,或使用 v2.x

https://pnp.github.io/pnpjs/transition-guide/

要安装已知与您似乎正在使用的 SPFx 示例兼容的先前版本 (v2.x),请尝试明确指定版本:

npm install @pnp/[email protected] @pnp/[email protected] @pnp/[email protected] @pnp/[email protected] --save

0
投票

开发者,此问题是由于TypeScript版本造成的。如果我们要导入{SP},则需要使用~2版本,所以请使用下面的命令来解决问题:

卸载以前的版本: npm 卸载@pnp/sp

然后运行以下命令: npm 我@pnp/[电子邮件受保护]

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.