Это для systemjs библиотеки, не systemjs-строительКак сказать systemjs игнорировать импорт
я мог бы иметь немного краевой случае здесь. Но я пытаюсь настроить внешнее веб-приложение для запуска его модульных тестов в командной строке. Моя настройка в настоящее время создает машинописный текст в формате регистра systemjs, и нагрузки импортируются на сайт в соответствии с их спецификациями. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что одна из моих зависимостей reflect-metadata
имеет систему автоматического обнаружения узлов, которая вызывает вызов require('crypto')
, который является модулем нативного узла (недоступным в npm). Ошибка я получаю это:
Error: ENOENT: no such file or directory, open '/Users/path/to/project/node_modules/crypto.js'
Есть много вещей в игре здесь, я понимаю, но поведение я после того, как для systemjs полностью игнорирующих require('crypto')
вызов и позволяет ему проходить через совершенно неизменным, как узел будет правильно загружать это во время выполнения.
Из-за многомодульного корпоративного приложения, которое мы создаем, я действительно не имею возможности экспортировать машинописный текст в commonjs из-за подзависимостей, получающих версию Systemjs, а не из temp commonjs build. (Единственный способ сделать это было бы включить CommonJS версию в нашем частном НОГО DIST сборки, которая далека от идеала)
Вот текущий конфиг я использую для системы, которые я пытался получить чтобы игнорировать криптографическую библиотеку. Я оставил это в точном состоянии, когда возникла ошибка выше, комментарии и все, чтобы вы могли видеть, что я пробовал.
System.config({
defaultJSExtensions: true,
map: {
'angular2': 'node_modules/angular2',
'reflect-metadata': 'node_modules/reflect-metadata/Reflect',
'crypto': 'node_modules/crypto'
}
// packages: {
// 'reflect-metadata': {
// format: 'global',
// exports: 'Reflect',
// defaultExtension: false,
// meta: {
// '*': {
// defaultExtension: false
// }
// }
// }
// }
// meta:{
// 'reflect-metadata/Reflect':{
// format: 'global',
// exports: 'Reflect',
// defaultExtension: false
// }
// }
});