Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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
Javascript 使用broserify为reactJS编译jsx时出错_Javascript_Babeljs_React Jsx_Jsx - Fatal编程技术网

Javascript 使用broserify为reactJS编译jsx时出错

Javascript 使用broserify为reactJS编译jsx时出错,javascript,babeljs,react-jsx,jsx,Javascript,Babeljs,React Jsx,Jsx,我在ReactJS的世界里是新手。我正在尝试一个测试应用程序,我获得了下一个: 我有下一个部分: BtnLink.js var BtnLink = new React.createClass({ getInitialState:function(){ return { class : 'btn btn-primary', label : 'Continuar' } }, changeBut

我在ReactJS的世界里是新手。我正在尝试一个测试应用程序,我获得了下一个: 我有下一个部分:

BtnLink.js

var BtnLink = new React.createClass({

    getInitialState:function(){
        return {
            class : 'btn btn-primary',
            label :  'Continuar'
        }
    },
    changeButton : function(){

    },
    render : function(){
        return(
            <div>hola</div>
        );
    }
});
var Boton   = require('./components/BtnLink.jsx');

var app = {
    // Application Constructor
    initialize: function() {
        console.log("here with me");
        ReactDOM.render(<BtnLink>, document.getElementbyId('app'))
    },

    onDeviceReady: function() {
        this.receivedEvent('deviceready');
    },

};
控制台在“hola”行上显示错误(或“if i change it=。from BtnLink.jsx文件)。如果我仅将该行更改为文本,例如“hola”而不使用html选择器,则命令会运行ok,但这不是问题所在,因为React的组件可能会返回html而不会出现问题。对吗?有人知道错误是什么吗

更新日期:2017年1月6日 我还尝试了babel,使用下一个命令

$ babel --presets es2017 js/src/components --watch --out-dir js/dist/components
响应与browserify相同

js\src\components\BtnLink.jsx -> js\dist\components\BtnLink.js
SyntaxError: js/src/components/BtnLink.jsx: Unexpected token (6:3)
  4 |   render : function(){
  5 |           return(
> 6 |                   <div>hola</div>
    |                   ^
  7 |           )
  8 |   }
  9 | });
js\src\components\BtnLink.jsx->js\dist\components\BtnLink.js
语法错误:js/src/components/BtnLink.jsx:意外标记(6:3)
4 |渲染:函数(){
5 |返回(
>6 |你好
|                   ^
7 |           )
8 |   }
9 | });

尝试删除注释。在jsx文件中,注释应如下所示:

{/* Comment */}
将转换
ES2017
功能,而不是其他功能。如果你想使用JSX,你会想使用
babel preset react
,很可能你会想使用
babel preset env
babel preset latest
以及
react

嗨,我在这篇文章中添加的注释//只是为了展示真正的“组件”“但是我试着不用它。
{/* Comment */}
babel --presets es2017