Javascript 在导出名称下导入所有命名的导出,而不显式列出它们
我有一个文件Javascript 在导出名称下导入所有命名的导出,而不显式列出它们,javascript,ecmascript-6,es6-modules,javascript-import,Javascript,Ecmascript 6,Es6 Modules,Javascript Import,我有一个文件modules.js,它根据模块名导出所有default从我的模块导出的内容(如下所示): 在我的app.js中,我想导入此模块包 我希望从a…z导出的变量从module.js导入,以便我可以在app.js中使用它们 显然我不想这样做 import { a, b, c, d, ... , x, y, z } from './modules/modules' 由于这非常冗长,每当我在module.js中添加模块时,我还必须更改app.js中的import 我试过了 import *
modules.js
,它根据模块名导出所有default
从我的模块导出的内容(如下所示):
在我的app.js
中,我想导入此模块包
我希望从a…z导出的变量从module.js
导入,以便我可以在app.js
中使用它们
显然我不想这样做
import { a, b, c, d, ... , x, y, z } from './modules/modules'
由于这非常冗长,每当我在module.js
中添加模块时,我还必须更改app.js
中的import
我试过了
import * from './modules/modules'
但是变量在app.js
中不可用
问题:我如何简单地将所有命名的导出导入到它们的导出名称下?
示例模块/modules/a/a.js
:
export default function a() {
// whatever
}
只需尝试从“./modules/modules”导入*作为sampleModule 您可以使用sampleModule变量利用模块中导出的所有函数
import*作为样本模块从“./modules/modules”导入
import./modules/modules'
您可以执行类似这样的操作import m from./modules/modules'
并以m.a
或m.b
的形式访问变量。。。我认为这不会花很多钱。@Mohit这可能不会花很多钱,但是在不需要所有者对象的情况下导入是不可能的吗?从import*将模块名称空间对象作为foo从…
导入没有额外的成本。事实上,通过使用它,引擎可以提前知道变量来自何处,从而更好地优化您的代码。@connexo据我所知,在当前版本的ECMAScript 6中,没有任何可能的方法可以满足您的期望。如果不需要宿主对象,是否不可能导入?最好使用下面的代码。导入“./modules/modules”;
export default function a() {
// whatever
}