簡體   English   中英

如何將Nuxt頁面呈現為快速路線的響應

[英]How to render a Nuxt page as a response from an express route

我的問題是關於如何使用nuxt頁面觸發類似res.render的東西?

該項目正在利用nuxt-express模板-Nuxt和Expressjs的組合。

我知道nuxt具有: nuxt.render(req,res)nuxt.renderRoute,但我似乎無法使其正常工作-或找到類似於以下代碼塊的任何使用示例,在以下代碼塊中,渲染應在諾言已經解決。

我以前在其他應用程序中使用res.render來處理此問題,例如...

router.get('/', (req,res,next) => {
    dothePromise(req.query)
      .then(data => {
        res.render('pages/auth', {data:data})
      }
}

一些可能有用的進一步細節:

這個過程是...

1)我進入第三方系統上的頁面,該頁面向我的快速端點發出GET請求。

2)在我的應用程序中解決了諾言之后,我需要返回HTML內容,然后將其填充到iframe的第三方系統中。

這是我的第一個stackoverflow問題-如果我缺少任何內容或應該對此問題進行調整,請告訴我。

感謝您的協助!

我不是Nuxt的專家,所以我無法為您提供某些詳細信息,但是我可以告訴您,如果您從默認的nuxt-express項目開始,則可以編輯server/index.js以包含類似以下:

function doThePromise( query ) {
        return new Promise( ( resolve, reject ) => {
                setTimeout( () => resolve( "hi" ), 500 );
        } );
};

app.get( '/foo', ( req, res, next ) => {
        doThePromise( req.query )
                .then( data => {
                        console.log( "rendering", res.renderRoute );
                        res.renderRoute( 'pages/foo', { data: data } );
                } );
} );

然后,如果您在pages/foo.vue創建一個vue文檔並在瀏覽器中訪問/foo ,則promise將在500ms后解析並執行回調,以呈現路由並顯示所需的頁面。

此解決方案似乎有效,但不能解決兩件事:

  • 對自變量renderRoute實際上被認為是包含上下文對象reqres性質,根據該文檔 我不知道您實際上應該如何在響應中轉發數據,但這似乎不是合適的方法。
  • 我什至不確定renderRoute應以這種方式使用renderRoute 在文檔中,它是在Nuxt Builder對象的重新構造中使用的,我懷疑這可能是一次性操作,而不是每次發出請求時都會反復調用的對象。 我不確定哪種方法,但最好檢查一下。 可能需要查看nuxt-express頁面以獲取一些有關如何在渲染過程中渲染路線和傳遞數據的示例。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM