質問するログイン新規登録

Q&A

0回答

1077閲覧

Nuxt, Express, severless-offlineの構成がうまく動かない

FumiakiNakao

総合スコア180

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2020/06/14 11:58

0

0

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.jsrender関数は呼ばれていました。しかしapp.useでmiddlewareとして登録しているはずのnuxt.renderは呼ばれていないようでした

お聞きしたいこと

上記のようなエラーが出るのはなぜか(可能ならその解決法)

素人質問で恐縮ですが、ご教授よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問