2017-02-01 3 views
1

Я пытаюсь изучить React, и я хочу начать с самого простого примера. Я получил один отсюда: https://codeutopia.net/blog/2016/01/10/getting-started-with-react-the-easy-way/React - Не удается загрузить код из внешнего файла

Но код, кажется, отказывается загружать из внешнего .js-файла.

reacttest.html

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react-dom.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.js"></script> 
    </head> 

    <body> 
    <div id="app"></div> 
    <script src="main.js" type="text/babel"> 
     // Code omitted to keep sample short 
    </script> 
    </body> 
</html> 

main.js

var App = React.createClass({ 
    render: function() { 
    return <div>Something something Dark Side</div>; 
    } 
}); 

ReactDOM.render(
    <App />, 
    document.getElementById('app') 
); 

Если я помещаю один и тот же код внутри тегов сценария, то он работает отлично. Что я делаю не так?

+0

Возникли ли ошибки? Вы импортируете 'React' и' ReactDOM' в 'main.js'? –

+0

Да. Выброшенная ошибка: ** XMLHttpRequest не может загрузить файл: //localhost/Users/username/react/main.js. Запросы на кросс-начало поддерживаются только для HTTP. ' ** Теперь я знаю, что это из-за Chrome. – Adam

ответ

0

Я думал, что вы могли бы использовать в HTML-файл без сервера, так что в этом случае при попытке импортировать файл main.js вы получите сообщение об ошибке, вы можете увидеть пример здесь работать: https://plnkr.co/edit/rlo7U99UVUF5HmzaHHE4?p=preview

<!DOCTYPE html> 
<html> 

    <head> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react-dom.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.js"></script> 
    <link rel="stylesheet" href="style.css" /> 
    </head> 

    <body> 
    <div id="example"></div> 
    <script src="script.js" type="text/babel"></script> 
    </body> 

</html> 

Попробуйте использовать сервер для визуализации вашего HTML-файла и должен работать.

1

Если вы используете браузер на базе Chromium, это произойдет. Вы можете попробовать Mozilla Firefox или другой браузер на основе Mozilla. Chrome не позволит реагировать таким образом. Кроме того, атрибут type (text/babel) для тега script устарел. Поэтому настоятельно рекомендуется использовать реактивный сервер или другой сервер, поддерживающий реакцию.

+0

Найдено больше информации здесь: http://stackoverflow.com/questions/20904098/react-js-example-in-tutorial-not-working – Adam

Смежные вопросы