SyntaxError:在解构声明中缺少初始化程序

时间:2017-05-01 20:23:09

标签: javascript node.js ecmascript-6

我在Node.js版本6.9.5上运行它

我有这段代码:

let {Schema}, mongoose = require('mongoose');

理论上是简化版本:

let mongoose = require('mongoose');
let Schema = mongoose.Schema;

我收到此错误:

let {Schema}, mongoose = require('mongoose');
    ^^^^^^^^
SyntaxError: Missing initializer in destructuring declaration

我尝试了这个:

let mongoose, {Schema} = require('mongoose');

我得到了一个不同的错误,这是“mongoose”未定义的结果。

我认为可以做这样的事情,我做错了什么?

2 个答案:

答案 0 :(得分:5)

没有。

let {Schema}, mongoose = require('mongoose');

相同
let {Schema};
let mongoose = require('mongoose');`

所以它不起作用,因为它不存在对象from Schema

let mongoose, {Schema} = require('mongoose');

相同
let mongoose;
let {Schema} = require('mongoose');`

并且mongoose确实未定义。

答案 1 :(得分:0)

对我来说,这是因为我要返回空变量,所以必须检查它们的值。确保您返回的数据正确。