typescript多文件import问题

a.ts中的文件内容:

export class User {
    getName() {
        return 'zs'
    }
}

b.ts的文件内容

import { User } from './a'
class Person {
    constructor() {
        let u = new User()
        console.log(u.getName())
    }
}

new Person()

tsconfig.json的文件内容

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        // "module": "commonjs",
        "sourceMap": false,
        "outDir": "build"
    },
    "exclude": [
        "node_modules",
        "typings/main",
        "typings/main.d.ts",
        "tsd/phaser.comments.d.ts",
        "tsd/pixi.comments.d.ts"
    ]
}

问题是:这样使用为什么会报Uncaught ReferenceError: exports is not defined这个错误,该如何解决?

clipboard.png

补充:这是编译后的代码文件

clipboard.png

阅读 10.7k
1 个回答

tsconfig.json中"module": "commonjs"修改成"module": "umd"

然后html中引入require.js

<script data-main="build/b.js" src="/node_modules/requirejs/require.js"></script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进