Comprehensive Guide on Using PnPjs with SharePoint Framework (SPFx)
This article combines recent inquiries and issues related to integrating PnPjs with SPFx, specifically focusing on error handling, version checks, and installation guidelines.
Understanding PnPjs in SPFx
PnPjs is a collection of libraries designed to simplify the process of working with SharePoint REST APIs in SPFx solutions. It helps developers write cleaner, more readable code while interacting with SharePoint resources.
Checking SPFx Version
To ensure compatibility between your project and the PnPjs library, you should first verify the version of SPFx you’re using. Here are two methods to do so:
- Check the
package.jsonFile:
- Open your SPFx project folder in a code editor.
- Locate the
package.jsonfile and search for the@microsoft/sp-core-librarydependency. The version next to it indicates your current SPFx version.
- Using the Command Line:
- Open a command prompt and navigate to your SPFx project directory.
- Run the command:
bash npm list @microsoft/generator-sharepoint - This command will display the version information for the SPFx generator, reflecting your SPFx version【62†source】【54†source】.
Installing Specific Versions of PnPjs
To install a specific version of PnPjs, use the following command:
npm install @pnp/sp@<version>
Replace <version> with the desired version number. For example:
npm install @pnp/sp@2.0.0
You can check the available versions of PnPjs by executing:
npm show @pnp/sp versions --json
This will display all versions in a JSON format for easier reading【54†source】【62†source】.
Common Errors and Their Solutions
When working with PnPjs in SPFx, you might encounter several common errors. Below are explanations for some of these errors and potential solutions:
- Property ‘get’ does not exist on type ‘IItems’:
- This error typically arises when attempting to call
get()on a collection of items improperly. Ensure you are callingget()on an instance ofIItem, notIItems.
- Cannot find module ‘@pnp/sp/presets/all’:
- If you receive an error indicating that a module cannot be found, verify that you have installed the correct versions of PnPjs and ensure you are using the correct import paths.
- Implicitly has an ‘any’ type:
- This error can occur if TypeScript cannot infer the type of a parameter. Make sure to explicitly declare types for parameters and return types where necessary【54†source】【62†source】.
Checking TypeScript Version
To ensure compatibility with PnPjs, check your TypeScript version by running the following command in your terminal:
tsc -v
For PnPjs, it is recommended to use TypeScript 3.6 or later【62†source】.
Conclusion
By following the steps outlined in this guide, you can effectively manage your SPFx and PnPjs versions, troubleshoot common errors, and enhance your SharePoint development experience. Keeping your dependencies updated is crucial for maintaining compatibility and leveraging the latest features.
For more information, you can refer to the official documentation on the PnPjs Getting Started and the SPFx documentation.
Summary of Commands
- To check SPFx version:
npm list @microsoft/generator-sharepoint
- To install specific PnPjs version:
npm install @pnp/sp@<version>
- To check available PnPjs versions:
npm show @pnp/sp versions --json
- To check TypeScript version:
tsc -v
By utilizing this comprehensive guide, you’ll be better equipped to navigate the integration of PnPjs within your SPFx projects.

Leave a comment