2017-05-24 113 views
1

我有一个简单的应用程序构建与Create React App。我想在jinja模板中注入一些服务器数据。显然,当地的WebPack服务器无法解析神社将服务器数据添加到index.html

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

我没有index.html中的访问process.env.NODE_ENV !== "production"有没有其他的标志可以使用?

或者,我可以用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应用程序时如何创建它的开发/生产版本。 –

+0

@SimonHyll index.html中没有'process' –

+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)) 
) 
相关问题