Sharepoint Frameworkの環境構築にはまった件
この度はじめてSharepointに触れる機会があったのですが、Sharepoint Frameworkの環境構築をしてHello Worldの固定文字列を表示するWebパーツをブラウザに出力するところまでに1日半かかってしまいました
いちばんはまったポイントは、終わってみればNode.jsのバージョンでした
Microsoftさんのこの記事↓にははっきりとバージョンについて書かれているんですけどねorz
SharePoint Framework 開発環境の設定 | Microsoft Docs
https://docs.microsoft.com/ja-jp/sharepoint/dev/spfx/set-up-your-development-environment
最初はDockerの上で環境構築をしていたが…
はじめのうちはこちら↓を参考にさせていただきながらDocker上に環境を構築していました
SharePoint Framework 開発入門 まとめ - SharePoint Developer
https://sharepoint.orivers.jp/sharepoint-framework-dev
ところが、手順通り進めていてもgulp serve後に表示されるブラウザ内でWebパーツを配置したところ、
There was a network problem. This may be a problem with a HTTPS certificate. Make sure you have the right certificate.
と表示されて先に進めませんでした
キャプチャを撮り忘れたんですが、[SPLoaderError.loadComponentError] というタイトルで、https://0.0.0.0:4321/lib/webparts/[Webパーツ名]/loc/en-us.js がLoad出来ない、といったエラーだったと記憶しています
なんらか回避策があるのかもしれませんが自分には解決できず、Dockerによる環境構築を諦めて自PC内にNode.jsをインストールすることにしました
Node.js v12だとgulpでエラーになる…
次はこちら↓を参考にさせていただきながらNode.jsの環境構築をはじめます
SharePoint Framework (SPFx) 開発環境構築 (Windows 10) - 鍋綿ブログ
https://www.micknabewata.com/entry/sharepoint/spfx/devenv-win10
途中までスムーズにさくさくと進んだのですが、gulp trust-dev-cert したところでエラーになってしまいました
内容としてはNode.jsのバージョンが範囲外だ、というものだったかと思います
上に貼ったのと同じURLですが、こちら↓にはっきりとNode.jsはバージョン10.xをダウンロードするよう書かれています
SharePoint Framework 開発環境の設定 | Microsoft Docs
https://docs.microsoft.com/ja-jp/sharepoint/dev/spfx/set-up-your-development-environment
…なのに、ここにたどり着くまでにgulpのバージョンをあげてみたり(3系→4系)、英語のサイトをさまよったり、気が付けば結構な時間が流れていました…
さ迷い歩く中でNode.jsやnpm、gulpといったモダンな開発環境に対する理解はいくばくか深まったので、あながち無駄な時間というわけでもなかったのですが
「すでにNode.jsのLTSバージョンは12系となっていますが、Microsoftさんが提供している @microsoft/generator-sharepoint はNode.js v10系までしか対象としてくれていません」という情報がこの先誰かの助けになるかもしれませんので記事にしておくことにします