如何在 Javascript 中使用 Babel 脚本的对象?
How to use a Babel script's object inside a Javascript?
我正在使用 Babel/JSX 语法开发 ReactJS 应用程序。我想编写一个由 React 组件组成的模块。但是我不能像在另一个 Javascript 中使用 Javascript 的对象那样在 Javascript 中使用 babel 脚本的对象。
Html:
<script src="/js/react_babel_jsx.js" type="text/babel" ></script>
<script src="/js/my_javascript.js"></script>
/js/react_babel_jsx.js:
var Test = function(){
this.hello = function () {
console.log('Hello!')
}
}
/js/my_javascript.js
new Test().hello()
Chrome 中的控制台输出:
my_javascript.js:3 Uncaught ReferenceError: Test is not defined
如何在 Javascript 中使用 Babel 脚本的对象?
Babel 脚本中定义的变量被包装在它们自己的闭包中 space。与此相同:
function BabelStuff () {
var Test = function () {}
}
function OtherStuff () {
var x = new Test() // Test not defined!
}
如果您现在只想解决这个问题,您可以将内容添加到 window
名称space。
window.Test = function(){
this.hello = function () {
console.log('Hello!')
}
}
但这应该只用于测试,而不是生产应用程序。当您准备好继续前进时,您会希望提前转换您的代码。这是一个可以帮助您入门的通用样板 https://github.com/gaearon/react-hot-boilerplate
我正在使用 Babel/JSX 语法开发 ReactJS 应用程序。我想编写一个由 React 组件组成的模块。但是我不能像在另一个 Javascript 中使用 Javascript 的对象那样在 Javascript 中使用 babel 脚本的对象。
Html:
<script src="/js/react_babel_jsx.js" type="text/babel" ></script>
<script src="/js/my_javascript.js"></script>
/js/react_babel_jsx.js:
var Test = function(){
this.hello = function () {
console.log('Hello!')
}
}
/js/my_javascript.js
new Test().hello()
Chrome 中的控制台输出:
my_javascript.js:3 Uncaught ReferenceError: Test is not defined
如何在 Javascript 中使用 Babel 脚本的对象?
Babel 脚本中定义的变量被包装在它们自己的闭包中 space。与此相同:
function BabelStuff () {
var Test = function () {}
}
function OtherStuff () {
var x = new Test() // Test not defined!
}
如果您现在只想解决这个问题,您可以将内容添加到 window
名称space。
window.Test = function(){
this.hello = function () {
console.log('Hello!')
}
}
但这应该只用于测试,而不是生产应用程序。当您准备好继续前进时,您会希望提前转换您的代码。这是一个可以帮助您入门的通用样板 https://github.com/gaearon/react-hot-boilerplate