Я пытаюсь использовать React + ReactDOM через RequireJS в мини-файле, который действует как отдельная библиотека.Использование React-dom с RequireJS в минифилированном файле
Я пришел к тому моменту, когда я могу использовать React (в комплекте с миниатюрным файлом), но при попытке использовать ReactDOM все ломается, то, что я нашел до сих пор, заключается в том, что при попытке загрузить «require-dom» «требует попыток импортировать файл« реакция-dom »вместо загрузки кода из мини-файла. (Который фактически содержит реакцию).
На самом деле я использую grunt для предварительной компиляции всех требуемых файлов. Вот мой рубаки requirejs конфигурации:
requirejs: {
build: {
options: {
baseUrl: './build/',
paths: {
'jquery': '../bower_components/jquery/dist/jquery.min',
'react': '../bower_components/react/react.min',
'react-dom': '../bower_components/react/react-dom.min'
},
include: ['main'],
out: 'dist/library.min.js',
optimize: 'uglify2'
}
}
}
Main.js выглядит следующим образом:
define(['jquery', 'react', 'react-dom'], function($, React, ReactDOM) {
return {
react: React,
reactDOM: ReactDOM,
}
});
После компиляции всего кода с помощью данной конфигурации я включить его в HTML-файл следующим образом:
<html>
<head>
<script src="../bower_components/requirejs/require.js"></script>
<script src="index.js"></script>
</head>
<body></body>
</html>
index.js является requirejs файл следующим образом:
requirejs.config({
baseUrl: 'src',
paths: {
mylib: 'lib/dist/library.min.js'
}
});
require(['mylib'], function(mylib) {
console.log(mylib);
});
Ошибка я получаю при выполнении приведенного выше кода заключается в следующем:
require.js:1958 GET file:///D:/code/example/user/src/src/react-dom.js net::ERR_FILE_NOT_FOUND
req.load @ require.js:1958
load @ require.js:1682load @ require.js:832
fetch @ require.js:822check @ require.js:854
enable @ require.js:1173
enable @ require.js:1554
(anonymous function) @ require.js:1158
(anonymous function) @ require.js:134
each @ require.js:59enable @ require.js:1110
init @ require.js:786(anonymous function) @ require.js:1457
require.js:168 Uncaught Error: Script error for "react-dom"(…)
Если удалить реагирующие-дом все, нагрузки плавно.
Я пробовал несколько вещей до сих пор, так как импортировал React в качестве прокладки, поэтому реакция реагирует на глобальный React var, но это не сработало.
Любая помощь будет оценена, спасибо заранее.
Update:Github repo with example code
Update 2: Через некоторое время отладки на среагировать-РОМ Lib и уменьшенная сценария я обнаружил, что основной метод получает выполняется до вызова «определить (» response-dom ') "в миниатюрном скрипте, поэтому проблема распутывается как« как заставить основной скрипт ждать, пока код, определяющий «реагирование», будет выполнен ».
Вы рассматривали возможность использования минимального примера через GitHub? – prosti
Спасибо за совет, я подготовлю минимальный пример как можно скорее. –
Пример добавления Github. –