Ecmascript 6 如何在ES6中需要目录?
我知道我可以在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
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:)这不是一个好主意,因为它假设模块在运行时是目录中的文件,而在许多构建系统中并非如此。如果您这样做,您的代码可能会在尝试将其移植到另一个生成系统时立即中断。