Javascript WebStorm错误:表达式语句不是赋值或调用
我正在使用WebStorm,我遇到了一个我无法理解的错误。Node.js+MongoDBJavascript WebStorm错误:表达式语句不是赋值或调用,javascript,node.js,webstorm,Javascript,Node.js,Webstorm,我正在使用WebStorm,我遇到了一个我无法理解的错误。Node.js+MongoDB var mongoose = require('mongoose'); mongoose.Promise = global.Promise; mongoose.connect(' mongodb://localhost:27017/TodoApp'); var Todo = mongoose.model('Todo', { text: { type: String },
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect(' mongodb://localhost:27017/TodoApp');
var Todo = mongoose.model('Todo', {
text: {
type: String
},
completed: {
type: Boolean
},
completedAt: {
type: Number
}
});
var newTodo = new Todo({
text: 'Cook dinner'
});
问题出在这一块:
newTodo.save().then((doc) => {
console.log('Saved todo', doc);
}, (e) => {
console.log('Unable to save todo')
})
注意:代码运行良好。您需要将JavaScript语言版本更改为ES6。更改此设置可以解决以下问题:
在某些情况下,您可能需要重新启动IDE以正确反映更改。问题是,如果该语句在函数中未执行以下任何操作,WebStorm将显示警告:
- 调用另一个函数
- 做任何形式的任务
- 返回值
- (可能还有更多,但这些是我所知道的)
const arr=[1,2];
const willShowWarning=arr.map(num=>{
num+1;
});
添加报税表将删除警告:
const arr=[1,2];
const willNotShowWarning=arr.map(num=>{
返回num+1;
});
答案是不要更改WebStorm设置。
console.log('无法保存todo')
没有分号代码>?分号只会给出警告,所以它并不重要@YashKaranke。许多编码样式甚至不遵循分号规则。gauravmuk回答正确,请注意,您可以从Webstorm->Preferences菜单更改Javascript,而不是从File->Default设置更改Javascript。第二个对您当前的项目没有影响考虑到ES6的当前批准状态,这可以作为基于JSX的项目的一般建议吗?这个答案不正确,因为我将设置设置为Ecmascript 6,但是我仍然得到警告。@Jim我看到了同样的情况,重新启动IDE为我解决了问题。我甚至没有重新启动整个IDE。仅更改了选项“仅基于类型…”的开和关,并修复了该问题。