У меня есть файл, расположенный в models / user.js со следующим содержимым:
import { mongoose } from '../index.js'
var userSchema = mongoose.Schema({
email: String, // Self-explanatory
password: String, // This will be a bcrypt hash
name: String,
verified: Boolean
})
export var User = mongoose.model('User', userSchema)
Babel компилирует его в ES5, что дает:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.User = undefined;
var _index = require('../index.js');
var userSchema = _index.mongoose.Schema({
email: String, // Self-explanatory
password: String, // This will be a bcrypt hash
name: String,
verified: Boolean
});
var User = exports.User = _index.mongoose.model('User', userSchema);
In index.js
,У меня есть это требование для mongoose
export const mongoose = require('mongoose')
, и Babel преобразует это в
var mongoose = exports.mongoose = require('mongoose');
Это все выглядит хорошо для меня, но всякий раз, когда я запускаю свой (скомпилированный с помощью Babel) кодЯ получаю сообщение об ошибке, сообщающее, что _index.mongoose.Schema не может быть найдено, что не имеет смысла, потому что все выглядит так, как будто оно правильно связано.index.js
находится в правильном месте относительно user.js
Действительно странная вещь заключается в том, что у меня есть своего рода «шаблон проекта», который я использую при создании типа проекта, которым я являюсь, и все компилируется(с этим, по сути, одним и тем же кодом) совершенно нормально.
Есть идеи?