问题标签 [commonjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1246 浏览

javascript - Backbone.js + Relational + AMD ...引导关系

我感到有点失落并忽略了一些东西,但我不知道如何解决这个问题,甚至不太确定如何问......

首先,我使用的是 AMD 方法(使用 curl.js 库),这可能会更加困难,但我不会因为这个问题而放弃 AMD。

我有这种来自服务器的引导数据结构,存储在“ window.bootstrap ”属性中。

现在我对这种方法感到困惑。这是我的“数据模型/块”模块:

模块“ DataModel/Department ”只是没有任何关系的普通 RelationalModel。此外,这里提到的每个 Collection 也很简单,除了像这样引用 Model 之外没有任何其他内容:

最后,这里是 Bootstrap 模块,它看起来像这样:

我希望它会为这些块找到部门并在那里分配模型,但是调用

...让我不确定。

但这不是结束。我也将拥有与部门相关的服务器中的其他实体。而且我想看看,它会自动从该引导程序附加部门,所以我可以透明地使用它。

我不知道我是否误解了这个关系库,或者它还没有准备好 AMD。任何帮助表示赞赏。

0 投票
2 回答
180 浏览

module - 如何在插件中使用 Firefox 首选项作为数组?

我一直在互联网上寻找一种使用 Firefox 的首选项引擎将数组存储在插件中的方法。我正在尝试构建的扩展需要维护一个数组映射,每个条目包含 2 个值,但是在扩展中手动编码非常困难。我想知道是否有任何新的 API 或模块可以创建该功能。

0 投票
4 回答
2259 浏览

javascript - 是否可以使 JavaScript 模块与 NodeJS 和 RequireJS 兼容?

我一直在研究如何在 NodeJS 和浏览器应用程序中应用各种模块概念,使用 NodeJS 要求(显然是在 NodeJS 应用程序中)和 RequireJS 用于 Web 浏览器环境。

然后我突然意识到某些模块可能对客户端和服务器应用程序都有用,因此可以重用。

如何开发模块以使其与这两种环境兼容?

一种是同步的,一种是异步的。我的第一个想法是利用异步语法,然后为 NodeJS 定义一个自定义模块,它简单地同步调用异步回调。但是,如果不首先使用 NodeJS 同步回调,如何将 RequireJS-emulator 包含到跨环境模块中呢?

0 投票
3 回答
623 浏览

javascript - 在 JavaScript 中定义全局对象的独立于实现的版本

我试图global在单行中定义 JavaScript 中的对象,如下所示:

上面的语句是在全局范围内的。因此,在浏览器中,this指针是window对象的别名。假设它是在当前网页上下文中执行的第一行 JavaScript,那么 的值global将始终与this指针或window对象的值相同。

在 CommonJS 实现中,例如 RingoJS 和 node.js,this指针指向当前的ModuleScope. 但是,我们可以global通过global定义在ModuleScope. 因此我们可以通过this.global属性访问它。

因此,此代码片段适用于所有浏览器,至少适用于 RingoJS 和 node.js,但我尚未测试其他 CommomJS 实现。因此,我想知道这段代码在任何其他 CommonJS 实现上运行时是否不会产生正确的结果,如果是,我该如何修复它。

最终,我打算在 lambda 表达式中为我的实现独立的 JavaScript 框架使用它,如下所示(来自 jQuery 的想法):

0 投票
1 回答
8644 浏览

json - common-js utils 中的 JSON Schema 验证是否支持引用?

common-js utils 中的 JSON Schema 验证是否支持引用?我不能用https://github.com/kriszyp/commonjs-utils/blob/master/json-schema.js做到这一点

我尝试了以下代码:

我可以在没有引用的情况下继续准备我的模式,但如果有可能知道它会很高兴。

0 投票
2 回答
1294 浏览

javascript - 未找到未捕获的模块 jqueryify

我的情况

我正在为我正在考虑编写的 Web 应用程序检查 spin.js。我已经阅读了所有文档并浏览了所有示例。现在我正在尝试在我自己的 Windows 7 笔记本电脑上运行 spin.contacts 示例项目。

我正在为 Windows 运行 node v0.6.6

我做了什么

  • 安装节点
  • 通过 npm 安装了 spin、spine-app 和 hem
  • 文件夹中提取的 spin.contacts
  • 在文件夹内运行npm install .,它创建了 node_modules 文件夹,里面有一堆目录,包括 jqueryify
  • 运行hem server以启动测试服务器
  • 基本上遵循了信中的所有指示

问题

在 Chrome (http://localhost:9294) 中运行应用程序,JavaScript 在 index.html 的第 9 行抛出异常(我在下面包含了 index.html)。它显示“未找到未捕获的模块 jqueryify”。我知道 jqueryify 依赖项是之前由 npm 安装的,但我还是尝试删除该行并手动链接 jQuery。现在我在 application.js 中收到错误“未找到未捕获的模块索引”。这当然不是依赖错误,因为 index.js 文件是本地的,并且它是项目中的主脚本文件。

所以似乎 require 函数有问题。我用谷歌搜索了很多,我发现没有任何东西表明spine.js 不应该在 Windows 上工作。

有任何想法吗?


一些链接


索引.html:

0 投票
1 回答
192 浏览

javascript - RingoJS 中如何创建守护进程?

我想使用该ringo/daemon模块在 RingoJS 中创建守护进程。但是,似乎没有足够的文档说明如何这样做,我真的很困惑。任何帮助将不胜感激。也许有人可以将我链接到一个解释如何完成它的页面。

0 投票
3 回答
534 浏览

javascript - 不进行异步调用的 CommonJS 模块加载器

我正在开发一个移动网站(它不是单页应用程序),它的 JS 占用空间非常小(压缩和压缩后不到 10KB)。没有库或外部依赖项,所有代码都是内部编写的 vanilla javascript。它在逻辑上被分成几个文件,在部署之前连接起来,以减少 HTTP 请求的数量。文件中没有明确的命名空间。也就是说,它们看起来像:

这不太理想,没有明确的依赖关系解析,并且范围很容易从函数内部受到污染。没有进行任何处理来检查这一点(lint 或编译器)。作为第一步,我认为实现显式模块系统可以防止这种情况并让代码更好。

阅读 CommonJS 模块格式和 RequireJS、Lab.js 等加载器,据我了解,在浏览器端使用模块时,他们都希望通过 XHR 加载它们。我不希望这样,我想保留包含所有模块的单一脚本格式。我的文件看起来像:

问题是是否有任何加载器以这种方式工作,还是我必须编写自己的defineand实现require

0 投票
1 回答
1189 浏览

javascript - RingoJS javascript - 在控制台上获取用户输入

使用 Rhino 或 RingoJS 时,可以print在控制台上使用 REPL 打印输出(alert不可用)。

什么可以用来读取控制台上的用户输入,而不是prompt

我是否可以在某个地方找到有关这些约定的信息,Rhino 和/或 RingoJS 中有哪些 API,或者是否有他们遵守的 CommonJS 指南?

0 投票
2 回答
2198 浏览

events - 将事件监听器添加到 Titanium Mobile commonJS 中的窗口

我在 Titanium Mobile 的 commonJS 模块中创建的窗口中添加了一个事件监听器,这肯定是一个愚蠢的问题。

考虑以下代码:

该窗口是很好地使用生成的

S.ui只是在我的应用程序中创建一些标准窗口的简单辅助方法。

但是永远不会调用事件侦听器,我尝试Ti.App.fireEvent("app:customListener"),但事件没有到达侦听器。只有在使用Ti.App.addEventListener和添加global eventlistener它时才有效。

我想也许这个问题是我没有将事件侦听器添加到"instance"窗口?但是如何解决这个问题?event listener在应用程序的某处实例化窗口时,我不想手动添加。我不能在 commonJS 模块中这样做吗?