ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

Node.jsでAPIを写経したときのメモ

以前Node.jsを入れたので、何か書いてみたいと思いAPIを書きたくなりました。 prupru-prune.hatenablog.com

検索してみるととても参考になる記事が見つかりました。 qiita.com

この記事内のコードを写経してAPIやNoSQL何たるを幾何か理解できました。その過程で遭遇したいくつかのエラーとその解決方法を残しておきます。

TypeError: Cannot read properties of undefined (reading 'name')

POST、PUT、メソッドにおいてreq.body.nameを使おうとすると出てくるエラー。console.log( req.body )かres.send( req.body )するとわかりますが、実はbody自体undefinedになってます。

こちらの解決策が見つかりました。曰く、以下のbody-parserの設定をコードの頭の方でするといいらしい

app.use(Express.json());// body-parser settings

cannot use import statement outside a module node

body-parserの設定に使うExpress.json()を使うため、以下のようなimport文をindex.jsに書きました。

import Express from "express"

するとcannot use import statement outside a module node というエラーが出ました。モジュール外ではimport文は使えませんと言ってるみたいですね。

こちらの記事によれば、package.jsonのtypeという要素をmoduleにすればよいとのこと。

{
  "name": "noderest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",       /* 追加する行 */
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.3"
  }
}

ようやく動きました。

参考

写経したのはこちらのページです。

qiita.com


その他の参考サイト

qiita.com

qiita.com

qiita.com

qiita.com

mebee.info