首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RequireJS:多重main.js?

RequireJS:多重main.js?
EN

Stack Overflow用户
提问于 2011-11-10 15:05:05
回答 2查看 14.5K关注 0票数 31

我一直在用requireJS构建一个页面应用程序,到目前为止我很喜欢它。我已经到了在主应用程序之外开发站点的其他部分的地步,并且不太确定如何(或者是否)使用requireJS来实现这一点。

在我的主应用程序中,所有东西都是由这个脚本标记触发的:

代码语言:javascript
运行
复制
<script data-main='/scripts/main' src='/scripts/libs/require.js'>

我现在正在开发首页,它有自己的前端脚本。使用优化器实现站点的实时运行,这将将所有这些脚本绑定到一个main.js包中。我正在努力了解我的网站的其他地方适合这一点。

假设我的应用程序依赖于jQuery,它被捆绑在应用程序的优化版本中,如果我想在主页上使用jQuery怎么办?我不想仅仅为了访问我的jQuery模块而加载我的应用程序的jQuery。所以是..。有点困惑!

我在想象一个类似于这样的站点结构:

代码语言:javascript
运行
复制
/scripts
  - app-main.js //(includes all module dependencies after optimzation)
  - home-main.js //(includes all module dependencies after optimzation)

应用程序:

代码语言:javascript
运行
复制
<script data-main='/scripts/app-main' src='/scripts/libs/require.js'>

首页:

代码语言:javascript
运行
复制
<script data-main='/scripts/home-main' src='/scripts/libs/require.js'>

问题

如何使用optimization?开发站点的不同部分?

  1. 如何使用RequireJS开发站点的不同部分?
  2. 是否建议有多个main.js文件?
  3. 不同的main.js文件如何共享通用模块,如jQuery post
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-10 11:45:35

因此,应该始终在任何页面上使用require.js,以允许模块化和干净的命名空间。我相信每个‘应用’都需要自己的main.js脚本。在优化站点时,r.js允许您将模块排除在编译之外,这是您应该为jQuery所做的。

这样,require.js将始终动态加载jquery.js,而且大多数情况下都是从缓存中加载。找到可能缓存在应用程序和主页之间的其他模块必须由您自己决定,并取决于用户的流量和其他因素。

听起来你有两个项目,一个应用程序和一个营销网站。我认为它们应该在很大程度上分开,并且应该有各自的包含自己的main.js的'js‘文件夹。

票数 -1
EN

Stack Overflow用户

发布于 2012-09-11 03:44:44

requirejs团队为github上的多页面应用程序提供了一些示例。看看:https://github.com/requirejs/example-multipage

基本上,您将有以下结构:

  • 页面1.html:应用程序的第1页。
  • page2.html:应用程序的第2页。
  • js应用程序:用来存储应用程序特定模块的目录。
  • lib:保存第三方模块的目录,如jQuery。
  • common.js:包含需求配置,它将是公共模块集的构建目标。
  • page1.js:用于数据-主要用于page1.html。加载公共模块,然后加载app/main1,页面1的主模块。
  • page2.js:用于page2.html的数据主模块。加载通用模块,然后加载app/ main 2,这是第2页的主要模块。
票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8081605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档