1. ホーム
  2. typescript

[解決済み] Typescript ReferenceError: exports が定義されていません。

2022-03-01 22:24:30

質問

に従ってモジュールを実装しようとしています。 公式ハンドブック このようなエラーメッセージが表示されます。

Uncaught ReferenceError: exports は定義されていません。

at app.js:2

しかし、私のコードではどこにも exports .

どうすれば直せますか?


ファイル

app.ts

let a = 2;
let b:number = 3;

import Person = require ('./mods/module-1');

モジュール-1.t

 export class Person {
  constructor(){
    console.log('Person Class');
  }
}
export default Person;

tsconfig.json

{
   "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": true,
        "outDir": "scripts/"
    },
    "exclude": [
        "node_modules"
    ]
}

解決方法は?

EDITです。

をターゲットにしていない場合、この回答はうまくいかないかもしれません。 es5 もうちょっと完成度を高めるようにします。

オリジナルの回答

CommonJSがインストールされていない場合( を定義している exports ) の場合、この行を削除する必要があります。 tsconfig.json :

 "module": "commonjs",

コメントにあるように、これだけでは、後のバージョンの tsc . その場合は、CommonJS、SystemJS、RequireJSなどのモジュールローダーをインストールし、それを指定することができます。

注意

をご覧ください。 main.js というファイルがあります。 tsc が生成されました。一番上にあるのがこれです。

Object.defineProperty(exports, "__esModule", { value: true });

エラーメッセージのルートであり、削除後 "module": "commonjs", と表示され、消えてしまいます。