スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

babel-nodeでNightmare#evaluate内のtypeofが化ける

$ babel-node hoge.js --presets es2015,stage-0

// hoge.js
nightmare
.goto('file://' + path.join(__dirname, 'test.html'))
.evaluate( (arg)=>{
return typeof arg;
}, 'hoge')
.catch( (error)=>{
console.log(error);
});

_typeof is not defined


Nightmare#evaluate()内のtypeofでこんなエラーメッセージが出た。babel-nodeを介すとtypeofが_typeofに変換され、そのままElectronのコンテキストで実行されたため_typeofが見つからなかったようだ。今回は一部のモジュールだけ変換できればよかったのでbabel-nodeの使用を諦めて、代わりにbabel-registerを使いrequireをフックして変換の必要なモジュールを読み込むことにした。

$ node test.js

// hoge.js
require("babel-register")({
presets: ['es2015', 'stage-0']
});
const mod = require('module-name');

nightmare
.goto('file://' + path.join(__dirname, 'test.html'))
.evaluate( (arg)=>{
return typeof arg;
}, 'hoge')
.then( (arg)=>{
console.log(arg);
});

string


無事typeofが使えるようになった、でも依然として全体を変換しつつevaluate内のtypeofを機能させる方法はわからないままで今一スッキリしない。おしまい。
関連記事

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

すポンサードリンク
最新記事
カテゴリ
DN (57)
CSS (2)
いろいろ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。