Я получил следующий набор в моем index.html:Глобальные библиотеки с system.js
...
<script src="components/angular/angular.js"></script>
<script src="components/traceur/traceur.js"></script>
<script src="components/es6-module-loader/dist/es6-module-loader.src.js"></script>
<script src="components/system.js/dist/system.src.js"></script>
<script>
System.baseURL = '/';
</script>
<script type="module">
// Example
import angular from 'angular';
angular.module('myApp', [...]);
</script>
Я хотел бы загрузить angular.js (и некоторые другие общие LIBS) глобально через тег сценария. Но когда я пытаюсь использовать его в модулях (в моем случае, es6-modules), system.js пытается загрузить его через URL-адрес http://mysite/angular.js
. Он просто не видит, что я уже включил его в качестве глобальной библиотеки. Я потратил несколько часов на выяснение, как я могу справиться с этим, прочитайте wiki system.js в Github, но я все еще придерживаюсь этого.
Может ли кто-нибудь показать, как настроить system.js для работы с глобальными библиотеками?
, который идет против всей точки зрения использования модуля загрузчика как система. Если вы действительно хотите это сделать, см. Https://groups.google.com/forum/#!topic/systemjs/0_tuZW5s-JY – user2943490
Как насчет больших, где вы хотите включить их вне сборки SystemJS: a) по соображениям производительности сборки, б) потому что другие вещи полагаются на них глобальными. Например, я хочу использовать Three.js, а также дополнительный «ColladaLoader» Three.js, который присоединяется к глобальному объекту THREE ... Browserify-shim, например, рекомендует делать это, вставляя их с отдельными тегами сценария. – poshaughnessy
В документах SystemJS рекомендуются адаптивные модули для глобалов с помощью отдельного сценария (https://github.com/systemjs/builder#adapter-modules). Однако это не поможет, если вы используете библиотеку, которая требует() через ее имя npm ... :( – poshaughnessy