2015-09-17 3 views
2

Возьмите примерный пример кода.Что такое функция require? ReactJS?

require('react-bootstrap-datetimepicker'); 

... 

render: function() { 
    return <DateTimeField />; 
} 

datatimepicker библиотека третья сторона, которая может быть использована в моем собственном коде, но если добавить кусок кода в JS, то поджигатель скажет мне, что требуют не может быть найден. Если я должен перевести часть кода или что-нибудь сделать? Большое спасибо

+1

В экосистеме JS имеется несколько конкурирующих систем модулей, некоторые из которых работают «на лету», некоторые из которых требуют предварительной обработки. Этот конкретный образец, например, будет работать с рабочим процессом Browserify, где Browserify будет «компилировать» все ваши JS-файлы в один. – Amadan

ответ

2

require функция предназначена для добавления отдельных фрагментов кода («модулей») к текущей области, функция который не был частью языка JavaScript/ECMAScript до ES2015 specification.

Поэтому эта функция не является специфичной для ReactJS и не является частью языка, поэтому Firefox выдает сообщение об ошибке при попытке использовать его в среде браузера.

Использование require для синхронного загрузки модулей обычно является частью метода, известного как CommonJS (см. this answer для получения дополнительной информации о форматах модуля). Хотя среда, такая как Node.js, предоставляет module API, подобную этой спецификации, браузеры этого не делают; поэтому вы должны принести функцию самостоятельно.

Есть много вариантов сделать это, и вам решать выбрать тот, который лучше всего подходит для вашего рабочего процесса и личного вкуса. Но в целом, модели сводятся либо:

  • Явного использовать модуль загрузчик в браузере: используя <script> тега, принести загрузчик, такие как SystemJS и сразу же использовать его для загрузки своего собственного кода.
  • Bundle кода для одного сценария: использования Bundler, такие как Browserify, Webpack или JSPM и загрузить результаты с помощью одного <script> тега. В комплект поставки входит собственный модуль-загрузчик.

Как правило, второй вариант более ориентирован на производственные среды, в то время как первый вариант более практичен в средах разработки.

0

Вы можете сделать

npm install -g requirejs 

затем

var requirejs = require('requirejs'); 
Смежные вопросы