【问题标题】:Date formatting and manipulation in PebbleJSPebbleJS 中的日期格式化和操作
【发布时间】:2015-07-30 11:26:15
【问题描述】:

我正在使用 CloudPebble 中的 PebbleJS 编写一个应用程序,并希望具有类似于 Moment.jsxdate.js 提供的功能。具体来说,我感兴趣的是:

  • 使用自定义格式字符串将日期时间转换为字符串
  • 在当前日期时间中添加和减去天/周/月/年

这些模块声称支持 CommonJS,所以我尝试将文件添加到 CloudPebble 并使用 var Moment = require('moment'); 之类的内容导入。当我这样做时,应用程序将无法运行。我什至不确定它是否可以编译。

我只能在日志中找到:

[PHONE] pebble-app.js:?: [PHONESIM] [WARNING] Exception decoding QemuInboundPacket.footer

【问题讨论】:

  • 你用的是模拟器吧?也许这些库没有正确加载到模拟器中。您是否尝试过在手表本身上运行它?当您不包括 var Moment = require('moment'); 行时,它的工作 100% 正常吗?通常我发现 CloudPebble 会在我添加的内容未被使用或不受支持时向我发出警告。

标签: javascript pebble-watch pebble-js


【解决方案1】:

我看到heremoment.js 包含在 Pebble.JS 的 vendor 文件夹中。该错误的原因必须是普遍的,因为当我在 CloudPebble 上的 HelloWorld 全新 Pebble.JS 项目上尝试相同的事情时遇到相同的错误。

我查看了来自 cloudpebble 的 pbw 导出的源代码,文件中包含完整的库。似乎clock.js文件的一部分使用了moment.js

here如何同时引用时钟库和继承moment.js库。

【讨论】:

  • 我在 PebbleJS 源代码中看到了 moment.js,但没有意识到它已经可以在全球范围内用于您的 app.js 和其他源代码。你可以在任何文件中使用moment() 直接引用它并且它可以工作(尽管 JSHint 在编辑器中将它标记为无效)
  • 我很高兴能为您提供帮助。当我查看 PebbleJS 的源代码时,我注意到它被加载到了 loader.js 中,所以我认为我们试图完成的事情一定有问题。从 CloudPebble 看到 app.js 告诉我,它不像我们需要的其他库那样被引用,所以它必须作为 Pebble.JS 库的一部分被继承
  • 请扩展您对引用时钟库的解释以继承moment.js。我试图理解在时钟中使用 momentjs 的语法,而 CloudPebble 并不是很具体。
  • 我下载了一个 PBW 文件并打开它并查看了编译后的 app.js 文件。通过查看内容,我注意到时钟库使用 Moment.JS 来处理 PebbleJS 的 GetPebble 文档中列出的一些功能。
  • 好吧,我是个白痴。 @rossng 已经向我展示了如何使用它,我通过尝试实例化或导入它使事情变得复杂。我可以确认,即使 CloudPebble 语法突出显示认为它是错误的,只需使用 moment() 即可。
猜你喜欢
  • 2015-07-24
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多