未捕获的ReferenceError:系统未定义角度4

时间:2017-09-23 07:21:20

标签: javascript angular typescript

我在项目中安装了angular2-recaptcha(https://github.com/xmaestro/angular2-recaptcha)。

我添加了 systemjs.config.js

System.config({
  map: {
    'angular2-recaptcha': 'node_modules/angular2-recaptcha'
  },
  packages: {
    app: {
      format: 'register',
      defaultExtension: 'js'
    },
    'angular2-recaptcha': {defaultExtension: 'js', main:'index'}
  }
});

的index.html

<script src="systemjs.config.js"></script>
<script>
 System.import('app').catch(function(err){
     console.error(err);
 });
</script>

但我在浏览器控制台中收到此错误:

  Uncaught ReferenceError: System is not defined
    at localhost/:29
compiler.es5.js:15996 Uncaught Error: Unexpected module 'ReCaptchaModule' declared by the module 'AppModule'. Please add a @Pipe/@Directive/@Component annotation.
    at syntaxError (compiler.es5.js:1690)
    at compiler.es5.js:15430
    at Array.forEach (<anonymous>)
    at CompileMetadataResolver.webpackJsonp.../../../compiler/@angular/compiler.es5.js.CompileMetadataResolver.getNgModuleMetadata (compiler.es5.js:15412)
    at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler._loadModules (compiler.es5.js:26795)
    at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler._compileModuleAndComponents (compiler.es5.js:26768)
    at JitCompiler.webpackJsonp.../../../compiler/@angular/compiler.es5.js.JitCompiler.compileModuleAsync (compiler.es5.js:26697)
    at PlatformRef_.webpackJsonp.../../../core/@angular/core.es5.js.PlatformRef_._bootstrapModuleWithZone (core.es5.js:4536)
    at PlatformRef_.webpackJsonp.../../../core/@angular/core.es5.js.PlatformRef_.bootstrapModule (core.es5.js:4522)
    at Object.../../../../../src/main.ts (main.ts:11)

请帮帮我!我的错误在哪里?

1 个答案:

答案 0 :(得分:3)

您需要加载SystemJS库,而不仅仅是配置:

<script src="systemjs/dist/system.js"></script>   <---------------------
<script src="systemjs.config.js"></script>
<script>
    System.import('app').catch(function(err){ console.error(err); });
</script>

此外,不推荐使用System,请使用SystemJS,其中System是全局对象,例如,System.import使用SystemJS.import