破坏还是有所不同?

时间:2018-09-25 16:16:58

标签: express ecmascript-6 destructuring

这看起来像是解构:

const {getElementById, seedElements} = require('./utils')

但是我对此感到困惑。我曾经看到过类似的东西:

let {first, last} = name

这些文件只是在不同的文件中执行相同的操作吗?

2 个答案:

答案 0 :(得分:1)

您可以考虑

const {getElementById, seedElements} = require('./utils')

由于导出后发生了破坏,因此您的导出内容应写为

module.exports = { getElementById, seedElements };

export { getElementById, seedElements };

在使用require导入时,您基本上将导入整个模块,并且可以从中解构单个模块。

const {getElementById, seedElements} = require('./utils')

将类似于

const Utils = require('./utils');
const { getElementById, seedElements } = Utils;

使用导入语法,但是您将导入命名输出,如

import { getElementById, seedElements } from './utils';

答案 1 :(得分:0)

是的,这就是对象分解。

Node.js中的require()函数可用于导入模块,JSON和本地文件。例如(来自the docs):

// Importing a local module:
const myLocalModule = require('./path/myLocalModule');

调用require(moduleId)会返回module.exports的对象moduleIdmodule.exports包含模块可以使用的所有属性)。