クラスをモジュールES6 babelとしてエクスポートしようとしています
私はBrowserifyを使用しておらず、GulpとNodeだけを使用しており、まえがきをしたかっただけです。
./
./gulpfile.js
./_GULP
./_GULP/main_config.es6
./_GULP/_classes/Gcfg.es6
次のように、クラス_Gcfg.es6
_ファイルをエクスポートしています。
_export default class Gcfg {
constructor() {
this.rootDir = './';
this.latestDir = './_LATEST/';
this.srcFolder = './_SRC/';
...
}
getSrcDir(dir="") {
return this.srcFolder + dir;
}
...
}
_
_main_config.es6
_でインポートしようとしています:
_import Gcfg from '_classes/Gcfg';
_
このGitHubの投稿をフォローする:
https://github.com/babel/babel/issues/849
私はそれをすべて正しくやっていると思いました。私はWebStormを使用しており、.es6ファイルの保存時にBabelを実行するための「ファイルウォッチャー」セットアップを持っています。私はそこで特別なことは何もしていません。私が使用しているオプションのフラグは次のとおりです。
_--source-maps
_および_--out-file $FileNameWithoutExtension$.js $FilePath$
_
$ FileNameWithoutExtension $ .jsはWebStormアプリケーション変数であり、ウォッチャーによってロードされるファイルであり、$ FilePath $はファイルへの絶対パスです。
したがって、コマンドは次のようになります(実際には実行されていないようです)。
他のファイルの場合は_babel --source-maps --out-file main_config.js ./_GULP/
_など。
すべてのファイルは、私が信じているbabelによって正常に処理されます。生成されたJSにエクスポートと要件が表示されます。
_gulpfile.js
_で私はやっています:
gCfg = require('./_GULP/main_config');
<-これには作業が必要です!
ただし、GULPを実行しようとするとすぐに失敗し、コンソールに次のように表示されます。
_Error: Cannot find module '_classes/Gcfg'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:286:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/xxx/xxx/xxx/xxx/xxx/_GULP/main_config.js:9:20)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
_
_Gcfg.es6
_のクラスをエクスポートして、es6 import/exportを使用して_main.es6
_にインポートできないのはなぜですか?ポリフィルが必要ですか(バイブル/ポリフィルをロードしています)?パスに__
_があるということですか?私はこれをあまりにも長い間スラッシングしてきました。
ありがとう!
あなたが持っている一つのことのために:
import Gcfg from '_classes/Gcfg';
CommonJSにコンパイルしていて、特別な設定がない場合、Nodeはnode_modules/_classes/Gcfg
をロードしようとします。おそらく次のようにします。
import Gcfg from './_classes/Gcfg';