2015-07-07 5 views
0

У меня есть одностраничное приложение, которое состоит из пакета JS на основе Browserify и Coffeescript.Загрузите зависимость JS из набора для браузера

В определенной ситуации, мне нужно создать страницу adhoc (отдельную от SPA), которая должна получить доступ к библиотеке (конкретный Kendo), который является частью броузера, и на странице adhoc будет несколько простых JS на основе кендо.

Вопрос в том, как загрузить/получить доступ к библиотеке за пределами приложения одиночной страницы (если я попробую загрузить ее, браузер говорит, что библиотека не найдена)?

Использование RequireJS может быть опцией, как указано here. Но я не хочу использовать другую библиотеку только для этой цели. Я думаю, что должен быть способ «потребовать» библиотеку без requireJS, потому что она уже работает в приложении одиночной страницы.

Пожалуйста, помогите .. Спасибо!

ответ

1

Browserify перезаписывает пути вашего модуля, такие как ../moduleA/file.js, во внутренний идентификатор модуля, например 23 при упаковке.

Каждый требует заявление также будет переписан, заявление, как это:

var moduleA = require('../moduleA/file.js'); 

Становится это:

var moduleA = require(23); 

Чтобы получить доступ к конкретной библиотеке, вы можете сделать, чтобы вещи:

1) найти внутренний идентификатор через отладчик, а затем потребовать от него модуль (это довольно хрупко, потому что внутренний идентификатор может меняться при каждой сборке) 2) пакет другого файла в связку со следующим содержимым:

var kendo = require('kendo'); 
window.kendo = kendo; 

После этого, вы можете просто получить доступ к кэндо как страница глобальной.

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