我不使用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)
为什么我无法使用es6 import / export导出类Gcfg.es6
并将其main.es6
导入?是否需要一个填充纸(我正在加载圣经/填充纸)?是_
我走了吗?我已经为此苦苦思索太久了。
谢谢!
好吧,你有一件事:
import Gcfg from '_classes/Gcfg';
如果您要编译为CommonJS且没有任何特殊设置,那么Node将尝试加载node_modules/_classes/Gcfg
。您可能想要:
import Gcfg from './_classes/Gcfg';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句