gpt4 book ai didi

javascript - 在 Babel 中导出 es6 类 - 找不到模块

转载 作者:可可西里 更新时间:2023-11-01 02:29:29 26 4
gpt4 key购买 nike

我在 SO 上看到了这两个答案:

Exporting a class with ES6 (Babel)

Trying to export a class as a module 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 中看到了导出和需求。

tl;dr

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?是否需要 polyfill(我正在加载 bable/polyfill)?是我的路径中有 _ 吗?我已经为此纠结太久了。

谢谢!

最佳答案

好吧,一方面你有:

import Gcfg from '_classes/Gcfg';

如果您正在编译 CommonJS 并且没有任何特殊设置,Node 将尝试加载 node_modules/_classes/Gcfg。你可能想要:

import Gcfg from './_classes/Gcfg';

关于javascript - 在 Babel 中导出 es6 类 - 找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33005993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com