【发布时间】:2019-03-25 12:14:14
【问题描述】:
我正在尝试将每个文件导出为某个文件夹中的模块,以作为单个对象导入。我该怎么做?
我制作了一个带有很长的单个文件的 javascript 插件。我现在正试图让它被几个文件分开。我正在使用 Webpack。
而且,在我的插件代码中,有一个名为“fn”的巨大对象,其中包含 40~50 个函数,每个函数有 200~300 行。为了拆分它们,我创建了一个名为“fn”的文件夹并将每个函数作为每个文件。每个文件名和函数名都是相同的。所以名为“foo”的函数默认导出到“fn”文件夹中名为“foo.js”的文件中。
现在我正在尝试将它们全部导入并将其导出为像这样的单个对象。
src/fn/foo_or_whatever.js
export default function aFunctionWhichIUse(){
// return whatever;
}
src/fn/index.js
import foo from './foo';
import bar from './bar';
import fooz from './fooz';
import baz from './baz';
import kee from './kee';
import poo from './poo';
import tar from './tar';
import doo from './doo';
.
.
.
import foo_or_whatever from './foo_or_whatever';
export default {
foo,
bar,
fooz,
baz,
kee,
poo,
tar,
doo,
.
.
.
foo_or_whatever,
}
src/index.js
import fn from './fn'
但我认为这没有意义。现在我必须每四次输入相同的单词才能在“fn”对象中添加一个函数。
我发现导入/导出系统不支持从文件夹中导入所有文件。那么,我应该使用什么以及如何编写代码来做到这一点?
有没有办法做到这一点?方式是否是导入/导出系统我不关心,只要该方式在 webpack 上有效。
src/index.js
import * as fn from './fn';
【问题讨论】:
-
您可以尝试使用 babel 通配符插件,如下所述:stackoverflow.com/a/43508228/10429793
-
@KrzysztofKrzeszewski 这真的很有帮助。谢谢。
标签: javascript webpack ecmascript-6