1

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

但是现在,每当我访问该页面时,都会收到“未捕获的语法错误:意外的令牌导入”。

我需要在 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"
  ]
}

谢谢你的帮助!

4

3 回答 3

3

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

在 system-config.ts 中

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

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

于 2016-09-04T21:15:43.613 回答
1

这是使用 alpha-8 进行重大更改的一部分

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

于 2016-09-06T09:54:09.550 回答
1

其实我错了两件事:

1.)这个答案解决了部分问题

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

代替

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

我用了

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

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

于 2016-09-05T05:49:11.183 回答