3

serverMiddleware から Nuxt ランタイム変数にアクセスしようとしています

例このプラグインから追加したcontext.$dbがあります

nuxt.config.js :


    plugins: [
        { src: '~/plugins/db_runtime.js', mode: 'server' }
    ]

~/plugins/db_runtime.js :


    db = 'test'
    
    export default ({ app }, inject) => {
        inject('db', db)
    }

次に、serverMiddleware を追加しました。


    serverMiddleware: [
        { path: '/api', handler: '~/api/index.js' },
    ],

サーバーミドルウェア: ~/api/index.js :


    export default function(res, req) {
    }

そこからcontext.$dbにアクセスする方法はありますか? すなわち

    export default function(res, req) {
        $config.db = null
    }
4

2 に答える 2

0

静的データの場合、私は通常、環境変数 (.env)またはnuxt.config.js で宣言されたモジュールを使用してデータを渡します。

動的データの場合、serverMiddleware は常に nuxt アプリの同じライフサイクルで呼び出されるため、asyncData()またはfetch()またはaxiosを使用して HTTP リクエストとしてデータを安全に送信できます。

serverMiddle のライフサイクルについては、次のリンク/図を参照してください。

Nuxt.js 構成のモジュール、serverMiddleware、およびプラグインを理解する

于 2020-12-31T07:42:16.097 に答える