Skip to content

Latest commit

 

History

History
69 lines (58 loc) · 2.81 KB

scaffolding.md

File metadata and controls

69 lines (58 loc) · 2.81 KB

Project Scaffolding

Project Folders

Folder Purpose
config Settings for bundling/deployment the package
dist Final code files which are distributed with your application
lib Processed code files which are ready to move into the bundle
node_modules JS modules used by the solution
sharepoint Default folder where the package/asset is exported
src Where you structure/write the code solution
typings TypeScript typings

Scaffolding SRC folder

Below is described the best way to scaffold the source folder where all folders and files of your SPFx solution are going to live.

....
├── src
│   │── webparts
│   │   ├── MyCustomWebpart
│   │   │   ├── MyCustomWebpart.ts
│   │   │   ├── data
│   │   │   ├── loc
│   │   │   ├── models
│   │   │   ├── styles
│   │   │   ├── tests
│   │   │   ├── components
│   │   │   │   ├── ComponentName
│   │   │   │   │   ├── ComponentName.tsx
│   │   │   │   │   ├── IComponentNameProps.ts
│   │   │   │   │   ├── IComponentNameState.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── ComponentName.test.ts
│   │   │   │   │   └── styles.module.scss
│   │   │   │   ├── AnotherComponent
│   │   │   │   │   ├── ...
....

Each folder/file purpose is described below:

Folder/File Purpose
MyCustomWebpart.ts Initial file that will instantiate the render of the webpart and manage its configuration panel settings
data To store api calls
loc To store localization strings
models To store the models of the objects to use on your webpart code
styles To store global styles and variables of the SCSS of the webpart
tests To store global tests of the webpart
components To store all the components that integrate the webpart

Make sure each component folder follows/contains bellow recommendations:

  • Folder and component name files should be in PascalCase format
  • Index file to export modules
  • Component file to declare the functionality of the component
  • Interface files to declare the props and state of the component
  • Testing unit file
  • Styles file

Resources

Tutorials

References

Next chapter