我正在使用grigio:babel
在流星中转换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访问我的课程?
答案 0 :(得分:4)
我想babel将你所有代码都包装成一个闭包,所以你无法从控制台到达Camera。尝试做这样的事情
window.Camera = Camera;
课后定义