类未显示在控制台中:es6 和meteor

cor*_*vid 3 javascript meteor ecmascript-6 babeljs

我用来grigio:babel在流星中转译 es6。我有一个简单的文件,名为camera.es6提供相机功能

if (Meteor.isClient) {
  class Camera {
    constructor() {
    }
    getStream() {
      return new Promise(function (resolve, reject) {
        navigator.webkitGetUserMedia({ video: true }, resolve, reject);
      });
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我进入浏览器控制台并尝试实例化一个新相机。

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)
Run Code Online (Sandbox Code Playgroud)

相机不是应该可以用吗?Babel 似乎说它应该将其转换为类似函数的结构,以使其在 ES5 中工作。我还尝试在 babel 的 repl 中运行它,它翻译得非常好

如何使用 Meteor 和 es6 访问我的课程?

小智 5

我想 babel 将你所有的代码包装到一个闭包中,所以你无法从控制台访问相机。尝试做这样的事情

window.Camera = Camera;
Run Code Online (Sandbox Code Playgroud)

类定义后