“无法读取未定义的属性'解析'错误

时间:2016-01-18 16:56:53

标签: angular systemjs

我尝试使用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文件。

非常感谢你的帮助! 亨利

1 个答案:

答案 0 :(得分: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'
        }
    }
});