我正在使用RequireJS在我的应用程序中加载模块。我需要将我在index.php获得的URL参数传递给主模块。我可以通过几种方式来做到这一点,但我更愿意,如果索引中的唯一内容仍然是基本的:
<script type="text/javascript" data-main="scripts/main" src ="scripts/require-jquery.js"></script>
因为RequireJS说它更适合优化。我目前的解决方法是将原始require调用放在索引文件中,并从那里使用URL参数。还有更好的方法吗?
作为参考,我在服务器端使用PHP,如果这有用的话。
答案 0 :(得分:0)
要将参数从GET传递到脚本,您有三个选项:
使用$ _SESSION存储值并动态编辑主js文件。 这将导致一个非常大的开销并增加许多不必要的共谋(更多的复杂性=&gt;更多的错误)
添加此代码 http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/ 到您的主模块以通过javscript检索参数。
使用PHP生成一个小的java脚本(使用$ _GET)来设置值。 理论上哪个选项比其他选项快。
选项2和3之间的速度应该没有显着差异,所以只需选择符合您需求的内容。
如果主模块是经常更新的第三方组件,我会选择第三个选项,因为每次拉新版本时都不必更改主模块。
如果您想设置基于用户的默认值,您应该坚持使用选项3,以便更轻松地访问您的数据库和用户设置。
我希望这会有所帮助。
编辑: 如果在加载所有scrips之前主模块不需要参数,则可以在额外模块中使用选项2中的脚本,该模块设置主模块中的值。这也将解决更新问题。