在pebble js文件中包含一个外部javascript库
Including an external javascript library in pebble js file?
是否有任何方法可以在我的卵石代码中包含外部JS库?通常在网页上,我会在header标签中这样做:
<script type='text/javascript' src='https://cdn.firebase.com/js/client/1.0.11/firebase.js'></script>
但在鹅卵石,我无法做到这一点,因为我只使用JS。那么,如何为JavaScript文件包含外部库呢?
目前,您不能包含外部JS文件。
如果你正在使用CloudPebble,那么唯一的方法就是复制并粘贴JS库文件的内容到你的JS文件中。
如果你在做本地开发,你可以修改wscript文件,在构建时将多个JS文件合并为一个。
我认为Pebble.js与PebbleKit JS (v3.8.1)之间存在一些混淆。Pebble.js是一个刚刚起步的SDK,程序员最终将能够编写纯JavaScript。它还在制作中,所以缺少一些功能,比如画线或获取屏幕尺寸的能力。repo是C和JS源代码的混合,你可以添加C代码来增加缺失的功能,但其他所有的代码都在src/js/app.js
或src/js/app/
中。不管怎样,Pebble.js支持require
。
我没有使用CloudPebble,但我得到的印象是它要么支持Pebble.js(因此require
),要么正在计划。我认为所有这些SDK样板代码都应该隐藏起来。
PebbleKit JS不支持require
开箱即用。我做了一个演示,将require
支持从Pebble.js移植到PKJS。更改摘要如下:
- 移动项目的
src/js/pebble-js-app.js
到src/js/app/index.js
。从src/js/app/index.js
删除所有准备好的事件监听器。index.js
将当ready事件被触发时被加载。 从Pebble.js中添加 - 增加
src/js/main.js
,在ready
事件时调用require('src/js/app')
。 - 用以下内容更新
wscript
三角洲。 - 添加新模块时,将它们放在
src/js/app/
和require('./name')
下即可。
src/js/loader.js
我已经试着在演示的自述文件中涵盖了所有这些。
顺便说一句,这是所有不同sdk的官方分类,但它有点令人困惑。
我不确定自上述答案以来是否有变化,但看起来实际上有一种方法可以在保持整洁的同时包含额外的资源。在卵石js页面上,有以下部分,其中包含有关该主题的一些信息。
全局名称空间 - 要求(路径)
加载另一个JavaScript文件,允许您编写多文件项目。包加载松散地遵循CommonJS格式。Path是指向依赖项的路径。
你可以使用下面的代码在你的pebble项目中"要求"一个JS库。这应该可以在Cloud Pebble和本地开发中使用。
// src/js/dependency.js
var dep = require('dependency');
你可以这样使用:
dep.myFunction(); // run a function from the dependency
dep.myVar = 2; // access or change variables
更新:在我自己对此进行了一番深入研究之后,我已经成功地让CloudPebble使用了这个功能。它有点复杂,但遵循ECMAScript 6标准。下面我发布了一个简单的例子,让事情设置。另外,我建议参考一下卵石js中的代码,以获得更好的复杂设置参考。
myApp.js
var resource = require('myExtraFile'); // require additional library
console.log(resource.value); // logs 42
resource.functionA(); // logs "This is working now"
myExtraFile.js
var myExtraFile = { // create a JSON object to export
"value" : 42, // variable
functionA : function() { // function
console.log("This is working now!");
}
};
this.exports = myExtraFile; // export this function for
// later use
- 使用html中的外部javascript进行数据验证
- 将变量传递给外部Javascript
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 如何在MVC5中ajax调用的部分视图中引用外部javascript
- HTML外部javascript加载另一个javascript
- 如何在定义js文件后为外部javascript文件设置变量
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 如何在小部件中添加外部javascript库和样式表
- 外部JavaScript验证不起作用
- Chrome扩展无法通过清单加载外部javascript
- 动态虚拟目录和外部 JavaScript 链接
- Web 地址虚拟目录会断开外部 JavaScript 链接,因此找不到文件
- 如何从窗体调用外部javascript方法
- 如何使用外部Javascript库(如jQuery)重命名Google闭包样式表
- 如何使用Java在WebDriver中调用外部JavaScript
- 从Haml调用外部javascript中的ruby数组
- 在选择更改时更改从外部javascript生成的flash播放器
- 缓存javascript失败,因为使用了外部javascript
- 在AngularJS中手动加载和卸载外部javascript