過去作成したloopbackアプリのloopback-component-explorerへの対応

過去に作成したloopbackアプリの場合、slcコマンドでscafoldすると loopback-explorer と呼ばれるloopbackで作成したAPICRUDするUIが含まれた形でアプリが作成されますが、今回この loopback-explorer に大きな変更が加えられて単純に npm update するとアプリの起動が行えなくなるのでその際の対応方法のメモです。

loopback(2.22.0)以降だとslcコマンドでscafoldされた際に新しいAPI explorerに対応しているので問題はないので、既にアプリを作っている人向けの内容です。

package.jsonの修正

これまで利用されていた loopback-explorer を削除。新しく同じ役割をするコンポーネントとして追加された loopback-component-explorer を追加します。

$ npm install loopback-component-explorer --save
$ npm uninstall loopback-explorer --save

修正後のpackage.jsonは以下の様な形になります。

  "dependencies": {
(snip)  
    "loopback-component-passport": "^1.5.0",
+   "loopback-component-explorer": "^2.1.0",
    "loopback-connector-mongodb": "^1.13.0",
(snip)
  },
- "optionalDependencies": {
-   "loopback-explorer": "^2.0.1"
- },

component-config.json を追加

loopback-component-explorer をlooopbackアプリにマウントさせてやるために server/component-config.json を新規に追加します。

explorer呼び出すパスをJSON内で記述します。

{
  "loopback-component-explorer": {
    "mountPath": "/explorer"
  }
}

以上の操作で http://localhost:5000/explorer/ へアクセスすることで従来通りのAPI Explorerを利用することができます。

参照

StrongLoop | What’s New in the LoopBack Node.js Framework – July & August 2015


全く蛇足ですが、StrongloopのロゴにIBMのクレジットが入っていた。