2017-05-24 3 views
1

Create React App으로 간단한 앱 빌드가 있습니다. 진자 템플릿에 서버 데이터를 주입하고 싶습니다. 물론 지역 웹팩 서버는 내가 index.html을에서 process.env.NODE_ENV !== "production"에 액세스 할 수없는 신사index.html에 서버 데이터 추가

<script type="text/javascript"> 
    window.SERVER_DATA = { 
     "company": {{ company|dumps|escapejson }} 
    }; 
</script> 

을 구문 분석 할 수 없습니다. 사용할 수있는 다른 플래그가 있습니까?

또한, 나는 try and catch

try { 
    window.SERVER_DATA = __SERVER_DATA__; 
    } catch(e) { 
     console.info('Development MODE', e) 
     window.SERVER_DATA = {}; 
    } 

를 사용할 수 있습니다하지만 구문 오류입니다.

+0

나는 예를 들어, 사용에 보일 것이다 Webpack은 index.html에서 NODE_ENV에 액세스하려는 경우 Vue가 Vue 앱을 만들 때 Vue가 개발자/제작 버전을 만드는 방법입니다. –

+0

@SimonHyll index.html에 프로세스가 없습니다. –

+0

아니요.하지만 index.html 또는 index.js를 생성하여 process.NODE_ENV 변수를 'production'또는 'development'로 설정할 수 있습니다. 개발 또는 출시를 위해 귀하의 웹 사이트를 생성하게 될 것입니다. 따라서 생성기 (Webpack은 필자의 권장 사항)를 코드에 삽입하십시오. 쉬워요. –

답변

0

그것은 할 수있는 가장 좋은 것 같다 오류를 잡을 것입니다

try { 
    window.pagedata = __SERVER_DATA__; 
} catch(e) { 
    console.info('Dev mode'); 
} 

다음

settings_page = render_template('index.html') 
return settings_page.replace(
    '__SERVER_DATA__', escapejson(dumps(server_data)) 
)