当我更新到新的Angular2/Material2 alpha 8.1时,我遇到了几个错误。首先,最新的包似乎需要Typescript 2.0(使用"readonly")——所以我安装了Typescript 2.0测试版。
但现在我得到一个"Uncaught SyntaxError: Unexpected token import"每当我访问页面。
在Typescript 2.0中有什么需要设置/更改的吗?
这是我的tsconfig。Json (try target: es5 aswell…):
{
"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"
]
}
谢谢你的帮助!
我遇到了这个问题,你需要设置你的包,并关联到umd版本的js文件....看看这是否有帮助。
在system-config.tsconst packages: any = {
....
"@angular2-material/button": {
main: "button.umd.js",
defaultExtension: "js",
format: "cjs"
},
....
};
import在ES6是有效的,但由于浏览器仍然更多地在ES5端(至少在模块引用的方面),import不是一个有效的令牌。
其实我错了两件事:
1)。这个答案解决了部分问题
2)。和…我真笨:我不知道为什么,但是我有错误的import语句,
代替
import {MdButtonToggleModule} from '@angular2-material/button-toggle';
我用import {MdButtonToggleModule} from '@angular2-material/button-toggle/button-toggle';
指向错误的模块格式(es2015)。
这是alpha-8 Breaking Changes的一部分
https://github.com/angular/material2/blob/master/CHANGELOG.md