Ecmascript 6 如何在ES6中需要目录?

Ecmascript 6 如何在ES6中需要目录?,ecmascript-6,Ecmascript 6,我知道我可以在ES6中要求这样的文件: import "./config/auth"; require('./config/auth') 当我试着这么做的时候 require('./config/') 我得到:未找到模块:错误:无法解析目录'/config'。为什么会发生这种情况?我如何需要目录?首先,您需要的是NodeJS/io.js语法,ES6语法中的模块如下所示: import "./config/auth"; 或者,如果要从中加载某些内容: import authenticate f

我知道我可以在ES6中要求这样的文件:

import "./config/auth";
require('./config/auth')

当我试着这么做的时候

require('./config/')


我得到:
未找到模块:错误:无法解析目录'/config'
。为什么会发生这种情况?我如何需要目录?

首先,您需要的是NodeJS/io.js语法,ES6语法中的模块如下所示:

import "./config/auth";
或者,如果要从中加载某些内容:

import authenticate from "./config/auth";
您不能一次加载整个目录,但在Node/io.js中,您可以创建一个模块,然后加载该模块


请注意,作为一种解决方法,您可以加载单个文件,然后加载多个文件并返回其结果。异步加载器上也有正在进行的工作,但这种变化太频繁,很难跟踪,所以我现在还不依赖它。

我个人使用一个名为的包。这应该适合您:

import requireDir from 'require-dir';
requireDir('./config');

相关:这是CommonJS语法,而不是ES6?也许一个支持类似于
import./config/*“
的加载程序会是一个不错的选择idea@Bergi使用SystemJS(fs.readdirAsync.map load)异步完成这项工作非常容易——问题是SystemJS正在进行更改,而且它也是异步的(与OP所做的不同)。是否需要一个元数据?需要某物需要某物。。。lol@igorsantos07欢迎使用JS:)这不是一个好主意,因为它假设模块在运行时是目录中的文件,而在许多构建系统中并非如此。如果您这样做,您的代码可能会在尝试将其移植到另一个生成系统时立即中断。