콘텐츠를 렌더링하기 전에 Swig 템플릿에 출력 태그 표시

eScoo

isomorphoc react / flux 앱에서 작업 중이며 swig를 사용하여 콘텐츠를 렌더링합니다. 그러나 사이트를 열면 {{ html|safe }}실제 콘텐츠를 index.html 파일로 렌더링하기 전에 먼저 출력 태그가 있는 빈 페이지가 표시 됩니다.

내 server.js에서 코드는 다음과 같습니다.

res.status(200).send(swig.renderFile(__dirname + '/public/index.html', {html: html}));

이것을 어떻게 막을 수 있는지 아십니까? 또한 이것은 서버 측 렌더링을 방지합니까? Google 크롤러는 페이지를 크롤링 할 때 출력 태그 만 볼 수 있습니까?

감사합니다.

편집하다:

require('babel-register');

var express = require('express');
var app = express();
var compression = require('compression');

var path = require('path');
var http = require('http');
var swig  = require('swig');
var React = require('react');
var ReactDOM = require('react-dom/server');
var Router = require('react-router');
var routes = require('./app/routes');

app.use(compression());

app.use(express.static(path.join(__dirname, 'public')));

// create react router
app.use(function(req, res){
    Router.match(
        {
            routes: routes.default,
            location: req.url
        },
        function(err, redirectLocation, renderProps){
            if(err){
                res.status(500).send(err.message);
            } else if(redirectLocation){
                res.status(302).redirect(redirectLocation.pathname +     redirectLocation.search);
            } else if(renderProps){
                var html = ReactDOM.renderToString(React.createElement(Router.RouterContext, renderProps));
            var page = swig.renderFile(__dirname + '/public/index.html', {html: html});
            res.status(200).send(page);
        } else {
            res.status(404).send('Page not found');
        }
    }
);
});
// and so on ...

그리고 여기 내 routes.js가 있습니다.

import React from 'react';
import { Route } from 'react-router';
import App from './components/App';
import Home from './components/Home';

export default (
    <Route component={App}>
        <Route path="/" component={Home} />
    </Route>
);
eScoo

index.html이 문제였습니다. 이름을 "site.html"로 변경했으며 이제 서버 측 렌더링이 루트 경로에서 작동하며 swig 태그가 표시되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

뷰에서 템플릿 태그를 렌더링하고 Ajax 호출로 보내는 방법

분류에서Dev

콘텐츠가있는 API에 하위 태그의 콘텐츠 표시

분류에서Dev

가져온 스타일 시트를 사용자 지정 요소의 템플릿 태그 콘텐츠에 적용하는 방법은 무엇입니까?

분류에서Dev

콘텐츠 출력에 HTML 태그를 포함하는 CKEditor를 어떻게 중지합니까?

분류에서Dev

Ember js, 템플릿에 html 태그를 삽입하고 html로 렌더링

분류에서Dev

Vue는 콘텐츠 대신 템플릿 태그를 렌더링합니다.

분류에서Dev

헤더 태그 아래에서 콘텐츠를 어떻게 추출합니까?

분류에서Dev

thymeleaf를 사용하여 div 태그에서 tinymce 콘텐츠를 렌더링하는 방법

분류에서Dev

Angular에서 클릭하면 템플릿의 관련 콘텐츠 div를 표시하는 방법

분류에서Dev

파이프 된 콘텐츠를 파일로 출력하고 stdout에 파일의 줄 수를 표시합니다.

분류에서Dev

Ractive.js에서 HTML 태그로 콘텐츠 렌더링

분류에서Dev

Shadow DOM에서 <content> 태그의 콘텐츠를 렌더링하지 않는 방법은 무엇입니까?

분류에서Dev

하나의 자리 표시 자 태그에 플러그인의 콘텐츠 표시

분류에서Dev

Shiny Dashboard : 여러 메뉴 항목을 렌더링하고 각각에 동적 콘텐츠를 출력합니다.

분류에서Dev

div 전후에 콘텐츠를 표시하는 방법

분류에서Dev

span 태그 사이에 콘텐츠를 표시 할 수 없습니다.

분류에서Dev

Meteor Blaze : 부모를 렌더링하기 전에 자식 템플릿 렌더링을 기다리지 마십시오.

분류에서Dev

<sup> 2 </ sup> 태그 사이의 콘텐츠를 추출하고 해당 콘텐츠를 별도의 배열에 넣는 방법

분류에서Dev

템플릿에 html 콘텐츠가 표시되지 않음

분류에서Dev

PHP 변수에서 특정 태그 콘텐츠를 필터링 하시겠습니까?

분류에서Dev

Kitkat의 투명한 상태 표시 줄 아래에 콘텐츠를 표시하는 방법

분류에서Dev

wagtail cms에서 템플릿 태그를 무시 하시겠습니까?

분류에서Dev

문자열에서 퍼그 템플릿을 렌더링 하시겠습니까?

분류에서Dev

Rails에서 ERB를 렌더링하기 위해 EJS 템플릿을 재사용 하시겠습니까?

분류에서Dev

각도 템플릿에 비동기 함수 출력을 표시하는 방법

분류에서Dev

fancybox 안에 html 콘텐츠를 표시 하시겠습니까?

분류에서Dev

PHP의 스크립트 태그 내에서 콘텐츠를 추출하는 정규식

분류에서Dev

문자열 콘텐츠 인 xml 태그 속성에 큰 따옴표를 추가하는 방법

분류에서Dev

콘텐츠를 입력 할 때만 :: before 태그를 표시하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    뷰에서 템플릿 태그를 렌더링하고 Ajax 호출로 보내는 방법

  2. 2

    콘텐츠가있는 API에 하위 태그의 콘텐츠 표시

  3. 3

    가져온 스타일 시트를 사용자 지정 요소의 템플릿 태그 콘텐츠에 적용하는 방법은 무엇입니까?

  4. 4

    콘텐츠 출력에 HTML 태그를 포함하는 CKEditor를 어떻게 중지합니까?

  5. 5

    Ember js, 템플릿에 html 태그를 삽입하고 html로 렌더링

  6. 6

    Vue는 콘텐츠 대신 템플릿 태그를 렌더링합니다.

  7. 7

    헤더 태그 아래에서 콘텐츠를 어떻게 추출합니까?

  8. 8

    thymeleaf를 사용하여 div 태그에서 tinymce 콘텐츠를 렌더링하는 방법

  9. 9

    Angular에서 클릭하면 템플릿의 관련 콘텐츠 div를 표시하는 방법

  10. 10

    파이프 된 콘텐츠를 파일로 출력하고 stdout에 파일의 줄 수를 표시합니다.

  11. 11

    Ractive.js에서 HTML 태그로 콘텐츠 렌더링

  12. 12

    Shadow DOM에서 <content> 태그의 콘텐츠를 렌더링하지 않는 방법은 무엇입니까?

  13. 13

    하나의 자리 표시 자 태그에 플러그인의 콘텐츠 표시

  14. 14

    Shiny Dashboard : 여러 메뉴 항목을 렌더링하고 각각에 동적 콘텐츠를 출력합니다.

  15. 15

    div 전후에 콘텐츠를 표시하는 방법

  16. 16

    span 태그 사이에 콘텐츠를 표시 할 수 없습니다.

  17. 17

    Meteor Blaze : 부모를 렌더링하기 전에 자식 템플릿 렌더링을 기다리지 마십시오.

  18. 18

    <sup> 2 </ sup> 태그 사이의 콘텐츠를 추출하고 해당 콘텐츠를 별도의 배열에 넣는 방법

  19. 19

    템플릿에 html 콘텐츠가 표시되지 않음

  20. 20

    PHP 변수에서 특정 태그 콘텐츠를 필터링 하시겠습니까?

  21. 21

    Kitkat의 투명한 상태 표시 줄 아래에 콘텐츠를 표시하는 방법

  22. 22

    wagtail cms에서 템플릿 태그를 무시 하시겠습니까?

  23. 23

    문자열에서 퍼그 템플릿을 렌더링 하시겠습니까?

  24. 24

    Rails에서 ERB를 렌더링하기 위해 EJS 템플릿을 재사용 하시겠습니까?

  25. 25

    각도 템플릿에 비동기 함수 출력을 표시하는 방법

  26. 26

    fancybox 안에 html 콘텐츠를 표시 하시겠습니까?

  27. 27

    PHP의 스크립트 태그 내에서 콘텐츠를 추출하는 정규식

  28. 28

    문자열 콘텐츠 인 xml 태그 속성에 큰 따옴표를 추가하는 방법

  29. 29

    콘텐츠를 입력 할 때만 :: before 태그를 표시하려면 어떻게해야합니까?

뜨겁다태그

보관