Мифриловый простой пример требует ReactJS

Просто пытаюсь сделать простой пример, используя JSX без webpack и npm.

<html>
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.18.1/babel.min.js"></script>
    <script src="http://unpkg.com/mithril/mithril.js"></script>
  </head>
  <body>
      <script type="text/babel">
      var MyComponent = {
        view: function() {
          return (
            <main>
              <h1>Hello world</h1>
            </main>
          )
        }
      }

      m.render(document.body, <MyComponent />)
      </script>
  </body>
</html>

но получая ошибку React:

Uncaught ReferenceError: React is not defined

Я смущен, почему React имеет какое-либо отношение к этому.

1 ответ

Решение

По умолчанию JSX создает код React. Чтобы создать мифриловый код, вы должны установить "прагму" в m, Самый простой способ сделать это - установить следующий комментарий вверху каждого файла JSX:

/* @jsx m */
Другие вопросы по тегам