Nuxt.jsを用いたアプリ開発をしているものです。
構築途中で予期せぬエラーにあい、困っているので質問させていただきます
構成
Nuxt.js Express, severless-offlineで構成をしています
主要なファイルの内容は以下の通りです
//serverless.yml service: express-build-test plugins: - serverless-offline provider: name: aws runtime: nodejs12.x stage: dev region: ap-northeast-1 functions: nuxt: handler: server/handler.render timeout: 30 environment: NODE_ENV: production events: - http: path: '/' method: get private: false - http: path: '{proxy+}' method: get private: false
js
1//handler.js 2const awsServerlessExpress = require('aws-serverless-express') 3const app = require('./index') 4 5const server = awsServerlessExpress.createServer(app) 6 7module.exports.render = (event, context) => { 8 awsServerlessExpress.proxy(server, event, context) 9}
js
1//index.js 2const express = require('express') 3const {Nuxt} = require('nuxt') 4const awsServerlessExpressMiddleware = require('aws-serverless-express/middleware') 5 6const app = express() 7 8app.use(awsServerlessExpressMiddleware.eventContext()) 9 10let config = require('../nuxt.config.js') 11const nuxt = new Nuxt(config) 12 13app.use((req, res) => { 14 req.url = `${config.router.base}${req.url}`.replace('//', '/') 15 nuxt.render(req, res) 16}) 17 18module.exports = app
結果
sls offline
コマンドでサーバーを立ち上げ、存在するページ localhost:3000/dev
にアクセスすると、ブラウザ上では502番エラーが返ってきており、コンソール上では以下のエラーがでます
sh
1offline: GET /dev (λ: nuxt) 2ERROR: aws-serverless-express connection error 3Error: write EPIPE 4 at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:87:16) { 5 errno: -32, 6 code: 'EPIPE', 7 syscall: 'write' 8} 9offline: (λ: nuxt) RequestId: ckbf0c5k30005vmfuhvd77tp1 Duration: 6.80 ms Billed Duration: 100 ms 10
試したこと
console.log
でアクセスをたどった結果handler.js
のrender関数
は呼ばれていました。しかしapp.use
でmiddlewareとして登録しているはずのnuxt.render
は呼ばれていないようでした
お聞きしたいこと
上記のようなエラーが出るのはなぜか(可能ならその解決法)
素人質問で恐縮ですが、ご教授よろしくお願いいたします
あなたの回答
tips
プレビュー