イベントハンドラ経由でファイルを返す

一晩経って、お風呂に入っているときにふと思いつきました。イベントハンドラで応答すればCORSヘッダーが付くのだから、イベントハンドラでファイルをリターンすればいいんでね? /public のファイルを /server/assets に移動して、/routes にハンドラを追加してみました。

export default defineEventHandler(async (event) => {
    event.node.res.setHeader('content-type', 'text/javascript');
    const data = await useStorage('assets:server').getItem(`index-DkdaQVHD.js`)
    return data
})

結局まったくこれで問題なさそうです。 Nuxtサイトに設置したjsファイルを別サイトのページで無事読みんで実行することができました。 まあそうですよね、あとあとはアクセスコントロールだって追加する必要なわけですし。というわけで、/public にCORS設定が反映されないのは別に問題ではないのでした。ということで、NuxtのServerエンジンNitroは無事、復権したのでした。めでたし。

登録:2025-01-31 07:31
更新:2025-01-31 07:49
by nasu38yen
Copyright (C) 2014 Stadio Peace All Rights Reserved.