javascript 语法错误:解构声明中缺少初始值设定项

nwlqm0z1  于 2023-02-21  发布在  Java
关注(0)|答案(4)|浏览(117)

我在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"未定义的结果。
我以为这样的事情是可以做到的,我做错了什么?

disho6za

disho6za1#

没有。
let {Schema}, mongoose = require('mongoose');
这和

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

因此它不会工作,因为它不存在从中获取Schema对象。
let mongoose, {Schema} = require('mongoose');
这和

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

mongoose实际上是未定义的。

rnmwe5a2

rnmwe5a22#

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

hgtggwj0

hgtggwj03#

在我的例子中,这是因为语法的原因,对于node v18.7.0和基本的JS(而不是typescript),我应该使用(在你的例子中):

import mongoose, {Schema} = from 'mongoose';
2wnc66cl

2wnc66cl4#

在我的例子中,我在useEffect结束时丢失了一个额外的}

相关问题