在Browserify应用程序中注入数据

时间:2014-08-12 16:22:36

标签: javascript browserify bootstrapping

此处有人知道如何将数据注入Browserify应用程序吗?

我的意思是,我使用Browserify来创建一个大的捆绑app.js文件。

但是当我的单页应用程序启动时,服务器还会在加载应用程序的HTML页面中添加一些引导数据,这样应用程序就不必向服务器发出ajax请求来获取这些数据。 / p>

现在,服务器为启动应用程序而呈现的HTML模板如下所示:

<script type="text/javascript" >
window.bootstrapData = @Html(utils.CustomSerializer.serialize(bootstrapData));
</script>

<script type="text/javascript" src="@{reactAppBaseUrl}/app.js"></script>

app.js(浏览器化的单页应用)中,我们使用window.bootstrapData在Browserify包中获取该数据。

有没有优雅的方法可以做到这一点,不涉及全局变量?

1 个答案:

答案 0 :(得分:1)

使用external require

捆绑应用时,请使用-r选项启用特定服务的外部要求:

browserify -r appBootstrap  > app.js

然后,在您导入捆绑包的下方的脚本标记中,需要该服务并注入数据:

<script type="text/javascript" src="@{reactAppBaseUrl}/app.js"></script>

<script>
  var serializedData = @Html(utils.CustomSerializer.serialize(bootstrapData))
  require('appBootstrap').load(serializedData);
</script>