Javascript x、 x不是构造函数
为了创建一个新的图片类型的对象,我似乎无法获取模型。下面是我正在使用的一些代码 最后ṕ点评:Javascript x、 x不是构造函数,javascript,node.js,express,Javascript,Node.js,Express,为了创建一个新的图片类型的对象,我似乎无法获取模型。下面是我正在使用的一些代码 最后ṕ点评: import { picture } from '../models/pictures' //etc.. pics.post('/upload', (req, res) => { upload.single('image')(req, res, (err) => { if(err){ return res.status(500).json({ message: err });
import { picture } from '../models/pictures'
//etc..
pics.post('/upload', (req, res) => {
upload.single('image')(req, res, (err) => {
if(err){
return res.status(500).json({ message: err });
} else {
if(req.file == undefined){
return res.status(500).json({ message: 'upload a valid file!' });
} else {
var pic = new picture({
title: req.body.title,
description: req.body.description,
filename: req.body.databasepicname,
});
res.status(500).json({ message: 'woo!' })
};
}
});
})
对于模型:
import mongoose from 'mongoose'
import User from './users'
const pictureSchema = new mongoose.Schema({
title: {type: String, maxlength: [50, 'Title must be longer than 50 characters']},
description: {type: String},
filename: {tpe: String},
user: {type: mongoose.Schema.Types.ObjectId}
});
var picture = mongoose.model('Picture', pictureSchema);
exports = picture;
非常感谢您的帮助。非常感谢。在模型文件中,您提供了默认导出,但在端点文件中,您需要命名导出:
// models/pictures.js
export = picture;
// endpoint.js
import { picture } from '../models/pictures';
尝试在两个文件中使用命名的导出将其更改为:
// models/pictures.js
export.picture = picture;
// endpoint.js
import { picture } from '../models/pictures';
// models/pictures.js
export = picture;
// endpoint.js
import picture from '../models/pictures';
或者在两个文件中使用默认导出:
// models/pictures.js
export.picture = picture;
// endpoint.js
import { picture } from '../models/pictures';
// models/pictures.js
export = picture;
// endpoint.js
import picture from '../models/pictures';
什么是x.x?你能分享你得到的全部错误吗?看起来你导出图片的方式不对。是的。就这样。