Angular2 / Material2 - 未捕获的SyntaxError:意外的令牌导入

时间:2016-09-04 14:24:59

标签: angular typescript angular-material2

当我更新到新的Angular2 / Material2 alpha 8.1时,我遇到了几个错误。 首先,最新的软件包似乎需要使用Typescript 2.0(使用“readonly”) - 所以我安装了typescript 2.0 beta。

但是现在每当我访问该页面时,我都会收到“Uncaught SyntaxError:Unexpected token import”。

在Typescript 2.0中我需要设置/更改吗?

这是我的tsconfig.json(试过目标:es5以及...):

{
  "compilerOptions": {   
    "lib": [ "es6", "es5", "es2015", "dom" ],
    "module": "commonjs",
    "moduleResolution": "node",
    "target": "es6",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": true,
    "noImplicitAny": false
  },
  "exclude": [
    "bin",
    "node_modules",   
    "wwwroot/dist"
  ]
}

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

我遇到了这个问题,你需要设置你的软件包,并关联到js文件的umd版本....看看这是否有帮助。

在system-config.ts

const packages: any = {
....
  "@angular2-material/button": { 
      main: "button.umd.js", 
      defaultExtension: "js", 
      format: "cjs" 
    },
....
};

导入是有效的ES6,但由于浏览器在ES5端仍然更多(至少在哪些模块引用),导入不是有效的令牌。 umd捆绑包不使用import。

答案 1 :(得分:1)

其实我弄错了两件事:

1。)This answer fixed part of the problem

2。)而且......愚蠢的我:我不知道为什么,但我的导入语句错了,

而不是

import {MdButtonToggleModule} from '@angular2-material/button-toggle';

我用过

import {MdButtonToggleModule} from '@angular2-material/button-toggle/button-toggle';

当然指向错误的模块格式(es2015)。

答案 2 :(得分:1)

它是使用alpha-8

突破变化的一部分

https://github.com/angular/material2/blob/master/CHANGELOG.md