Nuxt 2.xでexpressを使ってhello worldするまでの道のり【備忘録】
Nuxt 2.xでexpressを使ってhello worldするまでの道のり【備忘録】:
expressについては今まで扱ったことがなく、Nuxtとどのように連動するのか、実際のところまだしっかり理解できていません。とりあえずここでは、nuxtプロジェクトでexpressを使うまでの初期設定までをリサーチしたので、備忘録として記録。
現在のnuxtのバージョンは以下のコマンドから分かるのかな?
バージョンはv2.4.2のようです。
注意点
nuxt.config.jsはdeaultではwatchされていないので、ホッとリロードされない。起動していたら、再起動する必要がある。
expressについては今まで扱ったことがなく、Nuxtとどのように連動するのか、実際のところまだしっかり理解できていません。とりあえずここでは、nuxtプロジェクトでexpressを使うまでの初期設定までをリサーチしたので、備忘録として記録。
現在のnuxtのバージョンは以下のコマンドから分かるのかな?
./node_modules/nuxt/bin/nuxt.js -v @nuxt/cli v2.4.2
hello worldまでの道のり
- nuxtでプロジェクトを作成
npx create-nuxt-app <project-name>
- プロジェクトルートに
api
フォルダーを用意 - apiフォルダにindex.jsを追加して以下の内容を記入
/api/index.js
const app = require('express')() module.exports = { path: '/api', handler: app } app.get('/hello', (req, res) => { console.log('hello nuxt in text') res.send('world') })
Notice, there is noつまり、/api
prefix in theapp.get()
, above. This is because inmodule.exports
we already specified the "global" prefix as/api
for this whole express router instance.
app.get
のパスはグローバルで登録している/api
以降のパスを登録する。- nuxt.config.jsに
serverMiddleware
を追加
-
middleware
ではないことに注意!
-
nuxt.config.js
serverMiddleware: ['~/api/index.js'],
- localhost:3000/api/helloにアクセスして、画面に
world
と表示されれば成功
- 当たり前かもしれないが、
console.log('hello nuxt in text')
の出力はwebのコンソールではなく、端末のコンソール上に表示される。
- 当たり前かもしれないが、
localhost:3000/api/hello
などでアクセスすると、express経由で処理を行えると思う。
コメント
コメントを投稿