TypeScript和SystemJS:主文件不能使用多个导入

时间:2016-04-07 09:51:19

标签: javascript node.js typescript systemjs

我正在尝试设置一个TypeScript应用程序,将其模块加载到主模块(main.ts)中。如果main.ts只有一个导入,这可以正常工作,但是如果我在main.ts中导入第二个模块,当我尝试使用该模块时,浏览器控制台会抛出错误。

browser...11.2.js (line 1)
Error: @http://localhost:3000/src/person.ts!transpiled:1:63
    @http://localhost:3000/src/person.ts!transpiled:1:1
    @http://localhost:3000/src/person.ts!transpiled:1:1 
    Evaluating http://localhost:3000/src/person.ts
    Error loading http://localhost:3000/src/person.ts as "./person" from http://localhost:3000/src/main.ts

我的SystemJS脚本标记中的代码

System.config({
      transpiler: 'typescript',
      packages: {
          src: {
              defaultExtension: 'ts'
          }
      }
  });
  System
          .import('src/main.ts')
          .then(null, console.error.bind(console));

我的tsconfig.json

{
  "compilerOptions": {
    "module": "system",
    "target": "es5",
    "sourceMap": true
  },
  "exclude": [
    "node_modules"
  ]
}

main.ts文件,抛出上述错误

import {Person} from './person';
import {Batman} from './batman';

let person = new Person();
console.log(person.name);

let bat = new Batman();

如果我删除最后一行,应用程序运行时没有错误。如果main.ts引用的模块导入多个模块,那么也可以。我在index.html文件中引用了systemjs和typescript npm模块。

0 个答案:

没有答案