类 未在控制台中显示:es6 和 meteor
Classes not showing up in console: es6 and meteor
我正在使用 grigio:babel
在 meteor 中转译 es6。我有一个名为 camera.es6
的简单文件来提供相机功能
if (Meteor.isClient) {
class Camera {
constructor() {
}
getStream() {
return new Promise(function (resolve, reject) {
navigator.webkitGetUserMedia({ video: true }, resolve, reject);
});
}
}
}
然后我进入我的浏览器控制台并尝试实例化一个新相机。
var c = new Camera()
VM1898:2 Uncaught ReferenceError: Camera is not defined
at <anonymous>:2:13
at Object.InjectedScript._evaluateOn (<anonymous>:905:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:838:34)
at Object.InjectedScript.evaluate (<anonymous>:694:21)
相机不应该可用吗? Babel 似乎在说它应该只是将其转换为类似函数的结构以使其在 ES5 中工作。我也尝试在 babel 的 repl and it translated perfectly fine
中 运行
如何使用 meteor 和 es6 访问我的 类?
我想 babel 将您所有的代码包装到一个闭包中,因此您无法从控制台访问 Camera。尝试做这样的事情
window.Camera = Camera;
class定义后
我正在使用 grigio:babel
在 meteor 中转译 es6。我有一个名为 camera.es6
的简单文件来提供相机功能
if (Meteor.isClient) {
class Camera {
constructor() {
}
getStream() {
return new Promise(function (resolve, reject) {
navigator.webkitGetUserMedia({ video: true }, resolve, reject);
});
}
}
}
然后我进入我的浏览器控制台并尝试实例化一个新相机。
var c = new Camera()
VM1898:2 Uncaught ReferenceError: Camera is not defined
at <anonymous>:2:13
at Object.InjectedScript._evaluateOn (<anonymous>:905:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:838:34)
at Object.InjectedScript.evaluate (<anonymous>:694:21)
相机不应该可用吗? Babel 似乎在说它应该只是将其转换为类似函数的结构以使其在 ES5 中工作。我也尝试在 babel 的 repl and it translated perfectly fine
中 运行如何使用 meteor 和 es6 访问我的 类?
我想 babel 将您所有的代码包装到一个闭包中,因此您无法从控制台访问 Camera。尝试做这样的事情
window.Camera = Camera;
class定义后