我一直在使用 requireJS 构建一个单页应用程序,到目前为止我很喜欢它。我已经到了要在主应用程序之外开发网站的其他部分的地步,但我不确定如何(或是否)为此使用 requireJS。
在我的主应用程序中,一切都由这个脚本标签触发:
<script data-main='/scripts/main' src='/scripts/libs/require.js'>
我现在正在开发主页,它有自己的前端脚本。在网站上线时使用优化器,它将所有这些脚本捆绑到一个 main.js
包中。我正在努力了解我网站的其余部分在哪里适合这个。
假设我的应用程序依赖于 jQuery,并且它被捆绑在应用程序的优化版本中,如果我想在主页上使用 jQuery 怎么办?我不想加载我的应用程序的 main.js
只是为了访问我的 jQuery 模块。 所以是的......有点困惑!
我想象的网站结构有点像这样:
/scripts
- app-main.js //(includes all module dependencies after optimzation)
- home-main.js //(includes all module dependencies after optimzation)
应用:
<script data-main='/scripts/app-main' src='/scripts/libs/require.js'>
首页:
<script data-main='/scripts/home-main' src='/scripts/libs/require.js'>
问题
- 如何使用 RequireJS 开发网站的不同部分?
- 是否建议有多个 main.js 文件?
- 我的不同
main.js
文件如何共享通用模块,例如 jQuery 后期优化?
最佳答案
requirejs 团队在 github 上有一些多页面应用程序的示例。 看看:https://github.com/requirejs/example-multipage
基本上您将具有以下结构:
page1.html:应用程序的第 1 页。
page2.html:应用的第 2 页。
js app:存放app特定模块的目录。
lib:存放第三方模块的目录,例如 jQuery。
common.js:包含 requirejs 配置,它将成为通用模块集的构建目标。
page1.js:用于 page1.html 的数据主体。加载公共(public)模块,然后加载页面 1 的主模块 app/main1。
page2.js:用于 page2.html 的数据主体。加载公共(public)模块,然后加载页面 2 的主模块 app/main2。
关于javascript - RequireJS:多个 main.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081605/