这里有人知道如何将数据注入 Browserify 应用程序吗?
我的意思是,我使用 Browserify 创建一个大的捆绑 app.js 文件。
但是当我的单页应用程序启动时,服务器还会将一些引导数据添加到加载应用程序的 HTML 页面中,以便应用程序不必向服务器执行 ajax 请求来获取这些数据。
目前,服务器呈现的用于启动应用程序的 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 包中的数据。
有没有一种优雅的方法可以做到这一点而不涉及全局变量?
Use an 外部要求 https://github.com/substack/node-browserify#external-requires.
当您捆绑应用程序时,请使用 -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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)