当我更新到新的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"
]
}
感谢您的帮助!
答案 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