Я использую system.js и сборщик systemjs для создания папки dist со всеми упакованными файлами javascript моего приложения angular2.

Он работает довольно хорошо, за исключением того, что он не включает следующие файлы, которые в настоящее время статически включены в index.html:

  • node_modules/zone.js/dist/zone.js
  • node_modules/reflect-метаданные/Reflect.js
  • node_modules/systemjs/dist/system.src.js
  • node_modules/esri-system-js/dist/esriSystem.js

Как я могу заставить сборщика systemjs включать эти зависимости?

Ответ:

Вы можете использовать свойство meta в файле конфигурации SystemJS (обычно systemjs.config.js), чтобы указать, какие зависимости следует включить.

Например, вы можете добавить следующий код, чтобы включить zone.js, reflect-metadata, systemjs и esriSystem:

SystemJS.config({
meta: {
'node_modules/zone.js/dist/zone.js': {
build: false
},
'node_modules /reflect-metadata/Reflect.js': {
build: false
},
'node_modules/systemjs/dist/system.src.js': {
build: false
},
'node_modules/esri-system-js/dist/esriSystem.js': {
build: false
}
}
}) ;

Флаг build: false указывает сборщику не включать эти файлы в пакет, а вместо этого полагаться на исходную копию.

Вы также можете проверить параметры System.js builder, которые вы используете. Некоторые сборщики имеют возможность включать или исключать определенные файлы.