如何使用巴别塔脚本';Javascript中的对象?

如何使用巴别塔脚本';Javascript中的对象?,javascript,module,babeljs,react-jsx,referenceerror,Javascript,Module,Babeljs,React Jsx,Referenceerror,我正在使用Babel/JSX语法开发一个ReactJS应用程序。我想写一个由React的组件组成的模块。但我不能像在另一个Javascript中使用Javascript对象那样在Javascript中使用巴贝尔脚本的对象 Html: /js/my_javascript.js new Test().hello() Chrome中的控制台输出: my_javascript.js:3 Uncaught ReferenceError: Test is not defined 如何在Javasc

我正在使用Babel/JSX语法开发一个ReactJS应用程序。我想写一个由React的组件组成的模块。但我不能像在另一个Javascript中使用Javascript对象那样在Javascript中使用巴贝尔脚本的对象

Html:

/js/my_javascript.js

new Test().hello()
Chrome中的控制台输出:

   my_javascript.js:3 Uncaught ReferenceError: Test is not defined

如何在Javascript中使用Babel脚本的对象?

在Babel脚本中定义的变量被包装在它们自己的闭包空间中。与此相同:

function BabelStuff () {
  var Test = function () {}
}

function OtherStuff () {
  var x = new Test() // Test not defined!
}
如果您现在只是想解决这个问题,那么可以向
窗口
名称空间添加内容

window.Test = function(){
    this.hello = function () {
         console.log('Hello!')
    }
}
但这应该只用于测试,而不是生产应用程序。当您准备继续前进时,您将希望提前传输代码。这里有一个常见的样板,可以让你开始

function BabelStuff () {
  var Test = function () {}
}

function OtherStuff () {
  var x = new Test() // Test not defined!
}
window.Test = function(){
    this.hello = function () {
         console.log('Hello!')
    }
}