如果有人使用SystemJS + TypeScript和ES5遇到以下错误,请注意问题在于块注释。更改格式或删除.js文件中的注释将解决问题。
private void endAsyncItemHandler (IASyncResult ar) {
HasASyncClass asyncItem = ar.AsyncState as HasASyncClass;
asyncItem.EndAsync(ar);
if (MyEventHandler != null)
MyEventHandler(this, new EventArgs());
//and so on
}
我的.ts文件中的以下块注释会导致错误。
Uncaught Error: Module http://localhost:4400/scripts/xxxxxxx.js interpreted as global module format, but called System.register.
system.src.js (2782,19)
但是,如果我更改注释以使用以下注释结构,我不会收到错误:
// import {enableDebugTools} from 'angular2/platform/browser';
/**
* Used to demonstrate external module is loading and function is called.
*/
SystemJS中的模块格式检测设计不是100%准确,它是为满足大多数用例而设计的。 - 盖伊贝德福德