LoginSignup
0
0

More than 1 year has passed since last update.

Json Serverでモックを作る

Last updated at Posted at 2023-01-25

未実装APIへの通信をテストしたい事がある。
そんな時はJson Serverで未実装APIのモックを作ると吉。


まず大前提としてnode.jsをインストールする(json serverはnpmのパッケージなので)

npmでjson serverをインストールする時にpermission deniedエラーになる事がある。
以下サイトによると、npm公式ではnvm等のnodeバージョンマネージャでnodeを入れて欲しいとの事。
https://zenn.dev/ikeo/articles/8d0c88dcedf256b09f73
少し遠回りになるがnodeバージョンマネージャーを入れてあげると良さそう(著者はnvmを入れた)

また、著者はMacで、zshでnpmインストールを行なったが、homeに.zshrcファイルが無かったので、調べた所、以下サイトによりhomeで以下コマンドであらかじめ作っておくモノという事で解決。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13256730643

touch .zshrc

homeで上記コマンドで作っておいてnpmインストール。

node.jsがインストールされたら(npmもnode.jsと一緒にインストールされる)、json serverをインストールします。
(インストール方法は下記の通り、検索したら山ほど出てきますー)

ちなみに参考サイトでは以下コマンドでjson serverを起動するとどこでも紹介されているが、著者の環境ではエラーになった。

json-server –-watch db.json

  \{^_^}/ hi!

  Loading –-watch
Error: Unsupported source –-watch
    at /Users/xxx/.nvm/versions/node/v18.13.0/lib/node_modules/json-server/lib/cli/utils/load.js:79:13
    at new Promise (<anonymous>)
    at module.exports (/Users/xxx/.nvm/versions/node/v18.13.0/lib/node_modules/json-server/lib/cli/utils/load.js:38:10)
    at start (/Users/xxx/.nvm/versions/node/v18.13.0/lib/node_modules/json-server/lib/cli/run.js:112:12)
    at module.exports (/Users/xxx/.nvm/versions/node/v18.13.0/lib/node_modules/json-server/lib/cli/run.js:149:3)
    at module.exports (/Users/xxx/.nvm/versions/node/v18.13.0/lib/node_modules/json-server/lib/cli/index.js:80:3)
    at Object.<anonymous> (/Users/kawashimakenichi/.nvm/versions/node/v18.13.0/lib/node_modules/json-server/lib/cli/bin.js:6:14)
    at Module._compile (node:internal/modules/cjs/loader:1218:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
    at Module.load (node:internal/modules/cjs/loader:1081:32)

以下コマンドで起動した。

json-server db.json

同じエラーになる人は参考にしてください。

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0