SharePoint Framework v1.8.0 のリリース ノート
更新されたドキュメントとガイダンス ビデオが近日中にさらにリリースされる予定です。 必要なアセットとトピックについてフィードバックをお寄せください。
リリース日: 2019 年 3 月 14 日
重要
このページでは、特定の SPFx リリース バージョンに関連する詳細について説明します。 このページには、Node.js、Yeoman、その他のツールなど、SPFx ソリューションを開発するためにインストールする必要のある追加の SPFx 前提条件は含まれていません。
これらの前提条件の詳細については、「SharePoint Framework 開発環境を設定する」を参照してください。
v1.7.1 から v1.8.0 へのプロジェクトのアップグレード
プロジェクトの package.json ファイルで、すべての SPFx v1.7.1 パッケージを特定します。 各 SPFx パッケージに次の手順を実行します。
既存の v1.7.1 パッケージをアンインストールします。
npm uninstall @microsoft/{spfx-package-name}@1.7.1
更新された v1.8.0 パッケージをインストールします。
npm install @microsoft/{spfx-package-name}@1.8.0.0 --save --save-exact
"@microsoft/sp-tslint-rules": "1.8.0"
を参照する package.json のdevDependency
セクションに入力があることを確認します。package.json に @microsoft/rush-stack-compiler-x-x パッケージを として
devDependency
追加します。 使用する適切なバージョンの詳細については、「TypeScript 2.7、2.9 および 3.x のサポート (一般提供)」のセクションを参照してください。tsconfig.json ファイルを更新して、@microsoft/rush-stack-compiler-x-x-x のバージョンの TypeScript 構成を拡張します。 これを行うには、次の手順に従ってファイルの上部を変更します。
@microsoft/rush-stack-compiler-2-7 の場合、tsconfig.json ファイルの先頭は次のようになります。
{ "extends": "./node_modules/@microsoft/rush-stack-compiler-2.7/includes/tsconfig-web.json", "compilerOptions": { // ommitted for brevity } }
@microsoft/rush-stack-compiler-3-3 の場合、tsconfig.json ファイルの先頭は次のようになります
{ "extends": "./node_modules/@microsoft/rush-stack-compiler-3.3/includes/tsconfig-web.json", "compilerOptions": { // ommitted for brevity } }
新しいコンパイラで上げられている新しく興味深い tslint エラーをすべて修正します。 大きなプロジェクトの場合、これにはしばらく時間がかかる場合があります。 TypeScript コンパイラの既定の動作はより厳格になっていますが、コードには有利になります。
ヒント
Microsoft 365 の CLI には、ソリューションを最新の SharePoint Framework バージョンに アップグレード するための簡単で段階的なガイダンスが用意されています。
新機能
Teams タブ向けの SPFx 開発 (一般提供)
SPFx を使用した Teams タブのソリューションが完全にサポートされるようになりました。 Web パーツのマニフェストの supportedHosts
プロパティに TeamsTab
を追加して、アプリ カタログに展開します。 そこから、ソリューションを選択できます。選択したら [Teams に同期] ボタンをクリックします。 これで、Web パーツが Teams にアプリとして表示されます。 Web パーツが Teams タブでホストされると、Web パーツのコンテキストから Teams SDK にアクセスできるようになります。 1.7 のベータ版リリースから次のような変更点があります。
- 初期構成および今後の構成はプロパティ ウィンドウを使用して処理されます
- 初期構成後に構成を無効にするため、マニフェスト プロパティ
canUpdateConfiguration
を false に設定できます - Web パーツをホストするため、JavaScript のオーバーヘッドが減少しました
- Teams マニフェストの作成とアップロードを自動化させるための "Teams に同期" 機能
- teams-js が v1.4.1 に更新されました
- ロケールが現在の Teams ロケールによって駆動されます
詳細については、以下をご覧ください。
- SharePoint Framework を使用した Microsoft Teams タブの作成
- SharePoint Framework を使用して Microsoft Teams タブを作成する: チュートリアル
- Web パーツ用の Microsoft Teams マニフェストを手動で作成して Microsoft Teams に展開する
アプリ ページ (一般提供)
Microsoft では、SPFx でシングルページアプリのフレームワークを追加するリクエストを頻繁に受け取ります。 Microsoft は、アプリ ページが SPA に関連する目標の多くを満たす一方で、同様の開発モデルとユーザー エクスペリエンスを提供するよう願っています。 アプリ ページは、SharePoint の新しいモダン ページのレイアウトで、ページ全体で単一の Web パーツをホストし、外観 (ナビゲーション、ヘッダー、テーマなど) を一貫性のあるものに保ちます。 Web パーツのマニフェストの supportedHosts
プロパティに SharePointFullPage
を追加すると、新しいページを作成するときに Web パーツ オプションを含むアプリ ページが追加されます。
Web パーツは構成できますが (canUpdateConfiguration
プロパティが false
である場合を除く)、ページ レイアウトとコンテンツは変更できません。 エンドユーザーによるアプリ ページの作成は、新しいページの作成エクスペリエンスとともに今月後半にロールアウトされる予定です。 それまでの間は、アプリ ページで任意のコンポーネントをホストできる静的なページを使用できます (_layouts/15/appPageHost.aspx?componentId=yourComponentGuidHere にあります)。 このページは現在ロール アウト中で、リリース時、またはテナントによっては数日後に利用可能になる予定です。
詳細については、以下をご覧ください。
ドメインの分離された Web パーツ (一般提供)
現在のページ内で実行中の SPFx コンポーネントはシンプルで、処理も迅速です。 ただし、シナリオによってはより強力な分離レベルが必要な場合があります。 ドメインの分離された Web パーツは、独立したドメインを持つ iframe で実行します。このドメインにはホスト ページとは異なる許可が付与されている可能性があります。 これにより、Web パーツがテナントで実行中のすべてのコードに同じレベルのアクセスを許可することなく、現在のユーザーのメールにアクセスするなどの動作が可能になります。
ドメインとその AAD アプリはテナント向けに作成および管理されます。テナント管理者は、ソリューションによって要求されたアクセス許可を承認する必要があります。 エンド ユーザーには、Web パーツの外観と動作はその他の Web パーツと同じようになります。 現時点では、ドメイン分離 Web パーツでは、ページ コンテキストでの動的データのみがサポートされます。 完全な部分間通信は、今後の更新プログラムで提供される予定です。
詳細については、以下をご覧ください。
ライブラリ コンポーネント (開発者向けプレビュー)
他の SPFx コンポーネントが参照することのできるライブラリを作成できるようになりました。 使用にはコツが必要なため、詳しく説明した別のドキュメントが公開される予定です。 コツは、使用にはライブラリを npm フィード (内部でかまいません) に公開する必要があるということです。
詳細については、以下をご覧ください。
- SharePoint Framework でライブラリ コンポーネント タイプを使用する
- SharePoint Framework でライブラリ コンポーネント タイプを使用してソリューションを構築する
TypeScript 2.7、2.9 および 3.x のサポート (一般提供)
このリリースでは、TypeScript のバージョンを現在使用中の SPFx のバージョンから分けるための処理を行いました。 ビルド システム自体とは別に使用する TypeScript のバージョンを指定できるようになりました。 ここに記載されている任意のコンパイラを使用できます: https://www.npmjs.com/search?q=%40microsoft%2Frush-stack-compiler。
注:
使用するコンパイラは、tsconfig.json ファイルに反映され、含める rush-stack-compiler のバージョンに一致する "extends": "./node_modules/@microsoft/rush-stack-compiler-2.7/includes/tsconfig-web.json"
を参照している必要があります。
最後の時点で、 @microsoft/rush-stack-compiler パッケージの最近のバージョンの一部が正しく動作していないことがわかります。 npm インストールで TypeScript のピア依存関係に関する警告が表示され、コンパイラが見つからないという苦情でビルドが失敗する場合は、以前のバージョンのパッケージを使用してください。
対応する TypeScript バージョンでは、次のバージョンの @microsoft/rush-stack-compiler を使用する必要があります。
- TypeScript v2.7
- @microsoft/rush-stack-compiler-2.7@0.5.7
- TypeScript v2.9
- @microsoft/rush-stack-compiler-2.9@0.6.8
- TypeScript v3.0
- @microsoft/rush-stack-compiler-3.0@0.5.9
- TypeScript v3.3
- @microsoft/rush-stack-compiler-3.3@0.1.6
SharePoint のモダン ページの Web パーツのバリエーション テーマ
最近、SharePoint のモダン ページでセクションに背景色を追加する機能がリリースされました。 Web パーツでテーマを更新して、Web パーツが表示されている背景の色を反映できます。 Web パーツ マニフェストで supportsThemeVariants
プロパティを true
に設定すると、常に白い背景を表示する既定の動作が無効になります。
その後、Web パーツは SPFx の ThemeProvider を使用して、背景色の変更の通知を受け取ることができます。
詳細については、以下をご覧ください。
このリリースに含まれる変更
PropertyPane コードを @microsoft/sp-webpart-base から削除しました
プロパティ ウィンドウ コードを、以前は @microsoft/sp-webpart-base に存在していたすべてのプロパティ ウィンドウ ロジックを含む別のパッケージ ( @microsoft/sp-property-pane) に移動しています。 現在実行中のソリューションは引き続き機能します (呼び出しは適切に転送されます)、 @microsoft/sp-webpart-base のパブリック プロパティ ウィンドウ API は SPFx v1.8 では非推奨となり、SPFx v1.9 リリースでは削除されます。
コードにより、インポートされたパッケージに簡単な変更が必要です。 種類と署名はまったく同じですが、異なるパッケージに含まれています。 これにより、プロパティ ウィンドウ コード (およびそのすべての依存パッケージ) を必要なときにだけ読み込むことができます。
このリリースでの廃止と削除されたアイテム
従来のファブリック CSS の使用
SPFx v1.0 のリリース以来、ページにさまざまなファブリックが追加されてきました。 それ以来、ファブリック CSS の動作は変更されてきましたが、ページにはファブリック CSS の旧バージョンも引き続き追加されました。 そのため、かなりの量の不必要な CSS が追加されてきました。 SPFx 1.8.0 以降、ソリューションが古いファブリック CSS を読み込むことはなくなります。
ソリューションで 1.8.0 以前の動作が必要な場合は、コンポーネント マニフェストに ”loadLegacyFabricCss”: true
を追加します。
1.8.0 へのアップグレード後にスタイルが正しく動作しない場合、この設定を切り替える必要があるかもしれません。
代わりに、ソリューションで Fabric.css スタイルシートを次のようにインポートできます。
import 'office-ui-fabric-react/dist/css/fabric.css';
既知の問題と制限事項
アプリ ページを作成する新しいエンドユーザー エクスペリエンスは、モダン ページの新しいページの追加エクスペリエンスに依存しています。 これは現在ロール アウト中ですが、テナントでは数日遅れてリリースされる場合がありますす。
TypeScript サポート セクションで説明したように、使用する @microsoft/rush-stack-compiler の最近のビルドの一部で問題が発生しています。 以前のバージョンは動作します。 この問題が修正され次第、更新プログラムを公開してお知らせします。
SharePoint Online で (Teams SDK を使用して) Microsoft Teams ソリューションをホストするための、更新されたプロバイダーによってホストされたモデルはまだプレビュー中です。
分離されたドメイン パーツの動的データのサポートは、ページ コンテキスト データ ソースに限定されています。 iFrame の境界を超えた動的データの完全なサポートは、今後の更新で提供されます。