Не удается прочитать свойство «разрешение» неопределенной ошибки

Я пытаюсь использовать SystemJS для загрузки модулей, которые ранее были скомпилированы в ES5. У меня следующая ошибка, но я не знаю, как ее интерпретировать:

Error: Cannot read property 'resolve' of undefined(…)
  Promise.reject (async)
  g @ system.src.js:4597(anonymous function) @ system.src.js:4597
  y @ system.src.js:4597
  w @ system.src.js:4597
  p @ system.src.js:4597
  h @ system.src.js:4597
  (anonymous function) @ system.src.js:4597

Вот конфигурация моего HTML-файла:

<script src="https://rawgithub.com/systemjs/systemjs/0.19.6/dist/system.js"></script>
(...)
<script>
  System.config({
    packages: {        
      somepackage: {
        format: 'register',
        defaultExtension: 'js'
      },
      src: {
        format: 'register',
        defaultExtension: 'js'
      }
    }
  });
  System.import('src/somefile')
        .then(null, console.error.bind(console));
</script>

Могу ли я включить какой-нибудь режим отладки / трассировки?

Я пытаюсь использовать исходный код Angular2 напрямую, а не вложенные файлы JS.

Большое спасибо за вашу помощь! Тьерри


person Thierry Templier    schedule 18.01.2016    source источник


Ответы (1)


Предположим, что папка node_modules общедоступна!

Если это так, вы можете использовать этот файл конфигурации SystemJS:

System.config({
    defaultJSExtensions: true,
    map: {
        "app": './src',
        "angular2": 'node_modules/angular2',
        'rxjs/operator/*' : 'node_modules/rxjs/add/operator/*',
        "rxjs": 'node_modules/rxjs',
        "reflect-metadata": 'node_modules/reflect-metadata/temp/Reflect.js',
        "zone.js": 'node_modules/zone.js/dist/zone.js'
    },
    packages: {
        app: {
            defaultExtension: 'js',
            format: 'register'
        },
        angular2: {
            defaultExtension: 'js',
        },
        rxjs: {
            defaultExtension: 'js'
        },
        'reflect-metadata': {
            format: 'global'
        }
    }
});
person Vlado Tesanovic    schedule 04.02.2016
comment
Большое спасибо, Владо! Это было очень полезно ;-) Это почти свело меня с ума! Я сделал небольшое обновление, чтобы использовать angular2-polyfills.js вместо reflect-metadata и zone.js напрямую ... - person Thierry Templier; 04.02.2016
comment
Я планировал написать об этом сообщение в блоге, потому что может быть полезно связать приложения с источниками Angular2 TypeScript для целей отладки ... - person Thierry Templier; 04.02.2016
comment
Да, это было бы круто. Эта установка хороша для индивидуальной сборки, она дает вам больше контроля .... Я предполагаю, что нам не нужно все, что находится внутри angular.js, http.js ... - person Vlado Tesanovic; 05.02.2016
comment
Однозначно согласен! Моя конечная цель заключалась в том, чтобы иметь возможность шаг за шагом отлаживать / выполнять исходный код Angular2 TypeScript ;-) Вы - SystemJS - это круто, поскольку он позволяет обеспечить точный выбор того, что / как загружать ... - person Thierry Templier; 05.02.2016