1

我正在使用 RequireJS 在我的应用程序中加载模块。我需要将在 index.php 中获得的 URL 参数传递给主模块。我可以看到有几种方法可以做到这一点,但如果索引中唯一的东西本质上仍然是这样的话,我更愿意:

<script type="text/javascript" data-main="scripts/main" src ="scripts/require-jquery.js"></script>

因为 RequireJS 说它更适合优化。我当前的解决方法是将原始的 require 调用放在索引文件中,并从那里使用 URL 参数。有没有更好的办法?

作为参考,我在服务器端使用 PHP,如果这有帮助的话。

4

1 回答 1

0

要将参数从 GET 传递到您的脚本,您有三个选项:

使用 $_SESSION 存储值并动态编辑主 js 文件。 这将导致巨大的开销并增加许多不必要的同谋(更多同谋=>更多错误)

将此代码 http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/添加 到您的主模块以通过 javscript 检索参数。

使用 PHP(使用 $_GET)生成一个小的 java 脚本来设置值。 理论上哪个比其他选项更快。

选项 2 和 3 之间的速度应该没有显着差异,因此只需选择符合您需求的选项即可。

如果主模块是经常更新的第三方组件,我会选择第三个选项,因为这样您就不必每次拉新版本时都更改主模块。

如果您想设置基于用户的默认值,您应该坚持使用选项 3,以便更轻松地访问您的数据库和用户设置。

我希望这有帮助。

编辑:如果您的主模块在加载所有脚本之前不需要参数,您可以在额外模块中使用选项 2 中的脚本,该模块在主模块中设置值。这也将解决更新问题。

于 2011-12-02T23:50:51.363 回答