Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将react JSX文件转换为简单JavaScript文件[脱机转换]_Javascript_Reactjs_React Jsx - Fatal编程技术网

如何将react JSX文件转换为简单JavaScript文件[脱机转换]

如何将react JSX文件转换为简单JavaScript文件[脱机转换],javascript,reactjs,react-jsx,Javascript,Reactjs,React Jsx,我是react.js的新手。我刚开始学。所以我的问题可能看起来很愚蠢,但请回答 我用以下代码创建了一个简单的.js文件: var Hello=React.createClass({ render: function(){ return (<h1>Hello World</h1>); } }); 这里JSX_文件是我的源文件夹,public/javascripts是我想要转换的.js文件的文件夹 但我在转换时遇到以下错误: SyntaxEr

我是react.js的新手。我刚开始学。所以我的问题可能看起来很愚蠢,但请回答

我用以下代码创建了一个简单的.js文件:

var Hello=React.createClass({
    render: function(){
        return (<h1>Hello World</h1>);
    }
});
这里JSX_文件是我的源文件夹,public/javascripts是我想要转换的.js文件的文件夹

但我在转换时遇到以下错误:

SyntaxError: JSX_Files/example.js: Unexpected token (3:16)
  1 | var Hello=React.createClass({
  2 |     render: function(){
> 3 |         return (<h1>Hello World</h1>);
    |                 ^
  4 |     }
  5 | });
SyntaxError:JSX_Files/example.js:意外标记(3:16)
1 | var Hello=React.createClass({
2 |渲染:函数(){
>3 |返回(Hello World);
|                 ^
4 |     }
5 | });
但是当我使用Babel REPL()时,它会毫无错误地转换它


现在请告诉我哪里做错了。为什么脱机转换时出现语法错误。

试试巴贝尔--预设会反应JSX_文件--注意--dir public/javascripts(预设末尾的s)。

如果使用巴贝尔cli,则需要使用插件将JSX语法转换为浏览器能够理解的js语法。 请参阅以下链接: 您需要安装babel插件transform react jsx插件,并在.babelrc文件中使用它,如下所示:

{
  "plugins": ["transform-react-jsx"]
}

那么你的巴别塔命令应该可以用了。

谢谢。。实际上我没有创建.babelrc文件。现在,创建此文件后,命令正在执行,没有任何错误。您是否运行了
npm install babel preset react
?是的,我执行了。我收到错误,因为我没有创建.babelrc文件。但现在它起作用了。谢谢你的回答。
{
  "plugins": ["transform-react-jsx"]
}