[英]Export es6 class in Babel - Cannot find module
我沒有使用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/
etc for other files ...
我相信所有文件都由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
? 是否需要填充(我正在加載bable / polyfill)? 難道我有_
“在我的路徑? 我剛剛對此進行了長時間的抨擊。
謝謝!
你有一件事:
import Gcfg from '_classes/Gcfg';
如果您正在編譯CommonJS並且沒有任何特殊設置,Node將嘗試加載node_modules/_classes/Gcfg
。 你可能想要:
import Gcfg from './_classes/Gcfg';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.