Ответ 1
Существует один html файл, который определенно используется для пользователей, подключенных с помощью js bundle. Возможно, вы могли бы прикрепить тэг script к этому html файлу
Я использую реактивный стартовый набор для программирования на стороне клиента. Он использует реакцию и webpack. Нет index.html или любого html для редактирования, все js файлы. Мой вопрос в том, хочу ли я загрузить поставщика js lib из облака, как это сделать?
Это легко сделать в html файле. <script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>
Однако в js файле он использует только установленные npm пакеты. Как я могу импортировать вышеупомянутый lib без html файла? Я попытался импортировать и потребовать, они работают только для локальных файлов.
обновление 10/21/15 Пока я пробовал два направления, и не идеален.
<div id="app" dangerouslySetInnerHTML={{__html: this.props.body}} />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>
<script src="/app.js"></script>
<script dangerouslySetInnerHTML={this.trackingCode()} />
</body>
Хорошая новость - это работает, мне не нужно ничего делать в js файле, не импортировать и не требовать. Однако теперь у меня есть две jquery-библиотеки, загруженные по-разному. Один здесь, другой через npm и webpack. Интересно, что это вызовет у меня проблемы позже. Используемая мной маршрутная реакция дает мне ошибку "undefined variable", если я ввожу ни одного домашнего пути в окно браузера из-за загрузки на стороне сервера, я думаю. Поэтому это решение не очень хорошо.
<script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>
в html.Существует один html файл, который определенно используется для пользователей, подключенных с помощью js bundle. Возможно, вы могли бы прикрепить тэг script к этому html файлу
externals
не предназначен для этого. Это означает, что "не компилируйте этот ресурс в последний пакет, потому что я сам его включу"
Вам нужна реализация загрузчика script, такая как script.js. Я также написал простое приложение для сравнения различных реализаций загрузчика script: ссылка.
Вы можете создать тег script в своем JS как
$("body").append($("<script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>"))
var $script = require("scriptjs");
$script("//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js", function() {
$('body').html('It works!')
});
Использовать webpack externals:
externals
позволяет указать зависимости для вашей библиотеки, которые не разрешены webpack, а становятся зависимостями вывода. Эта означает, что они импортируются из среды во время выполнения.