无法加载转发器

时间:2017-04-19 00:57:01

标签: javascript angularjs node.js

我在Node上运行了一个Angular应用程序,我最近刚开始遇到问题。我对转换器有错误:请看图片。

Chrome Developer Image

所以应用程序正在运行,我试图加载mmmagic,以便我可以评估上传的文件。好吧,我不能为了anohter的原因。但在此过程中,我开始更新大多数NPM包。当我开始收到此错误时,我放弃了加载mmmagic并开始处理其他事情。根据我上传的图片,我不知道它是如何加载打字稿的。我已经尝试了我能想到的所有内容,更新了大多数软件包,更改了tsconfig.json中的值,systemjs.config.js,重新加载了node_modules ... Typescript就在那里,但由于某种原因它没有加载它。

System.config({
transpiler: 'typescript.js',
typescriptOptions: {
    emitDecoratorMetadata: true,
    target: "ES5",
    module: "commonjs"},
map: {
    '@angular': 'node_modules/@angular',
    'rxjs'    : 'node_modules/rxjs',
},
paths: {
    'node_modules/@angular/*': 'node_modules/@angular/*/bundles'
},
meta: {
    '@angular/*': {'format': 'cjs'},
    'typescript': {
        "exports": "ts"
    }
},
packages: {
    'app'                              : {main: 'main', defaultExtension: 'ts'},
    'rxjs'                             : {main: 'Rx'},
    '@angular/core'                    : {main: 'core.umd.min.js'},
    '@angular/common'                  : {main: 'common.umd.min.js'},
    '@angular/compiler'                : {main: 'compiler.umd.min.js'},
    '@angular/router'                  : {main: 'router.umd.min.js'},
    '@angular/forms'                   : {main: 'forms.umd.min.js'},
    '@angular/http'                    : {main: 'http.umd.min.js'},
    '@angular/platform-browser'        : {main: 'platform-browser.umd.min.js'},
    '@angular/platform-browser-dynamic': {main: 'platform-browser-dynamic.umd.min.js'}
}

});

如果有任何我可以上传的内容可能有帮助请告诉我。我似乎遇到了这个障碍。

由于

更新

所以我还在做一些研究,并且能够通过指定systemjs.config.js中的完整路径来解决原始问题。

map: {
    '@angular': 'node_modules/@angular',
    'rxjs'    : 'node_modules/rxjs',
    'typescript': 'node_modules/typescript/lib/typescript.js'
},

所以现在我没有因为没有加载转换器而遇到任何问题,但现在我收到了这个错误。

  

错误:typescript不是有效的转换器插件。

见图片enter image description here

我现在不知道这是什么,几乎要回到后面......

由于

1 个答案:

答案 0 :(得分:1)

我不能让这个人休息。所以这个问题的开头记录在这里

https://github.com/systemjs/systemjs/issues/1587

似乎改变了转换器的默认加载程序。所以我遵循了#34; guybedford"的建议。从上面的线程。必须安装plugin-typescript并相应地配置它。下面是更新的Systemjs.config文件。

System.config({
transpiler: 'ts',
typescriptOptions: {
    emitDecoratorMetadata: true,
    experimentalDecorators: true,
    target: "ES5",
    module: "system"
    //module: "commonjs"
    },
map: {
    '@angular': 'node_modules/@angular',
    'rxjs'    : 'node_modules/rxjs',
    'typescript': 'node_modules/typescript/',
    'ts': 'node_modules/plugin-typescript/lib'
},
paths: {
    'node_modules/@angular/*': 'node_modules/@angular/*/bundles'
},
meta: {
    '@angular/*': {'format': 'cjs'},
    'node_modules/typescript/lib/typescript.js': {
        'exports': 'ts'
    }
},
packages: {
    'app'                              : {main: 'main', defaultExtension: 'ts'},
    'rxjs'                             : {main: 'Rx'},
    '@angular/core'                    : {main: 'bundles/core.umd.min.js'},
    '@angular/common'                  : {main: 'bundles/common.umd.min.js'},
    '@angular/compiler'                : {main: 'bundles/compiler.umd.min.js'},
    '@angular/router'                  : {main: 'bundles/router.umd.min.js'},
    '@angular/forms'                   : {main: 'bundles/forms.umd.min.js'},
    '@angular/http'                    : {main: 'bundles/http.umd.min.js'},
    '@angular/platform-browser'        : {main: 'bundles/platform-browser.umd.min.js'},
    '@angular/platform-browser-dynamic': {main: 'bundles/platform-browser-dynamic.umd.min.js'},
    'ts'                               : {main: 'plugin.js'},
    'typescript'                       : {main: 'lib/typescript.js'}
}

});