SPFx包含了一系列的client-side JavaScript類庫用於開發你的solution,下面介紹一下用於開發client-side web parts的工具和類庫。
TypeScript
TypeScript是比JavaScript更高級的語言,TypeScript中可以定義數據類型,接口,類,等等並且TypeScript最終可以編譯成JavaScript,SharePoint的client-side development tools就是使用Type Script的類,模型和接口來構建的。
關於TypeSctipt更多的詳細信息請見如下鏈接
- TypeScript Quick Start
- TypeScript PlayGround
- TypeScript Handbook
- TypeScript community on Stack Overflow
JavaScript Frameworks
你可以使用比較熟悉的JavaScript框架來 開發client-side web parts,以下是 比較流行的JS框架
因爲編寫client-side web part多數都是和SharePoint進行交互,所以這裏建議大家使用SharePoint PnP JavaScript Core library 框架,在這個框架中已經爲我們封裝好了很多簡單易用的API。
Node Package Manager (npm)
SharePoint client-side 開發工具使用npm來管理依賴以及必要的Js庫,安裝Node.js會自動安裝npm。
Node.js
Node.js是一個開源,用於運行JavaScript 代碼的跨平臺運行環境。Node.js類似於IIS Express和IIS。關於Node.js更多信息請見下面鏈接
SharePoint client-side 開發工具使用gulp打包工具做如下操作:
- Bundle and minify JavaScript and CSS files.
- Run tools to call the bundling and minification tasks before each build.
- Compile LESS or SASS files to CSS.
- Compile TypeScript files to JavaScript.
Yeoman generators
Yeoman用於創建新的client-side web parts的工程,一旦工程創建完畢之後,你可以選擇自己喜歡的IDE進行開發,常用的IED是Visual studio Code,Sublime Text或者Atom。
更多信息見如下鏈接
SharePoint REST API
SharePoint REST API主要用於和SharePoint環境交互,例如:添加刪除修改list中的數據等等。
Patterns and Practices
Office Dev Patterns and Practices / SharePoint Pattern and Practices (PnP) 提供了一些示例代碼以及一些其它資源用於幫助把已經存在的solution轉換成SharePoint Framewok.
注意:SharePoint Framework目前正處於Preview階段,隨時會進行一些更改。SharePoint Framework Client-side web parts在Office 365的生產環境中暫時不支持。