1. ホーム
  2. javascript

[解決済み] ブラウザで見る 識別子 X は既に宣言されています

2022-02-10 02:10:54

質問

プロジェクトでES6とBabelを使用しているのですが、プロジェクト内の1つの const

'use strict';

const APP = window.APP = window.APP || {};
const _ = window._;

APP.personalCard = (function () {

   ...

}());

エラー

Uncaught TypeError: 識別子 'APP' は既に宣言されている

というように、そのファイル全体であり、そのファイルの他のどこにもその宣言はありません。しかし、私は他のファイルの先頭でそのvarを宣言しています。

どうすればいいと思う?

解決方法は?

<ブロッククオート

しかし、私はそのvarを他のファイルの先頭で宣言しています。

それが問題なんだ。結局のところ、これでは同じ(グローバル)スコープで同じ名前の宣言を複数回行うことになり、以下のようなエラーが発生します。 const .

代わりに var を使用するか、メインファイル内で1つの宣言のみを使用するか、または window.APP を排他的に使用します。
または、ES6モジュールをすぐに使用し、モジュールバンドル/ローダーが期待通りにそれらを公開するように対処します。