gpt4 book ai didi

javascript - 基本 NodeJS 需要语法

转载 作者:搜寻专家 更新时间:2023-11-01 00:14:54 25 4
gpt4 key购买 nike

我对 NodeJS 的基本语法有疑问,请问需要语法。

在这个存储库中,

https://github.com/alduro/generator-flux-webapp/blob/master/app/templates/src/app.js

它在第 10 行使用此代码:

var {Router} = require('director');

然后在第 40 行:

var router = new Router(routes).configure({html5history: true}).init();

这有效。

但是如果我将 var {Router} = require('director'); 更改为 var Router = require('director');

它会抛出异常,
类型错误:路由器不是构造函数。

它不再起作用了。


所以我的问题是 {variable} 是什么意思?

感谢您的宝贵时间。

最佳答案

var {Router} = require('director'); 正在利用 ES6 object destructuring .等效的行是 var Router = require('director').Router;director 模块导出一个对象,该对象具有名为 Router 的属性。解构只是声明一个名为 Router 的变量并使用同名对象属性的值对其进行初始化的简写方式。

更新:更改了 object destructuring link指向更好的引用。

要查看此操作的示例,请使用 Babel's REPL 进行尝试. (Babel 曾经是 6to5。)

有多种不同的(并且大部分是等效的)方法可以完成同一件事:

var Router = require('director').Router; // Pure ES5
var {Router: Router} = require('director'); // ES6 named destructuring
var {Router} = require('director'); // ES6 destructuring shorthand
import {Router} from 'director'; // ES6 module import

关于javascript - 基本 NodeJS 需要语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28532868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com