deepblue-will’s diary

JS、CSS,Ruby、Railsなど仕事や趣味で試した技術系のことを書いていきます。

モジュール入れたら「SyntaxError: Delete of an unqualified identifier in strict mode. 」が出てハマった話

Node.jsであるモジュールをいれたら以下の様なエラーがでるようになって少しハマりました。

SyntaxError: Delete of an unqualified identifier in strict mode.

原因

実行時の--use_strictオプションが原因でした。
これは全体的にstrict modeで実行するオプションです。strict modeでは動かないnodeモジュールにもstrict modeを強制してしまい動かなくなってしまうというわけです。
ちなみにstrict modeで動かなかったのはforgeというモジュールです。

対処法

めんどくさいですが、--use_strictを外して、ファイル1つずつ先頭に'use strict';を書く方式にしたところなおりました。

use strict';

class Hoge {
}

Node.jsでES2015を使いたくて--use_strictを使ってました。
letClassesなどを使用するためにはstrict modeで実行する必要があります。