我试图将Objection.js添加到我的项目(使用ES6 "type": "module")中,并获取指向./models/user.js的错误
import { Model } from "objection";
^^^^^
SyntaxError: The requested module 'objection' does not provide an export named 'Model'使用以下代码:
./methods.js
import User from "./models/user.js";
async function getInfo(idnum) {
const someUser = await User.query().findById(idnum);
return someUser;
}./models/user.js
import db from "../connection.js";
import { Model } from "objection";
Model.knex(db);
class User extends Model {
static get tableName() {
return "users";
}
}
export default User;./connection.js
const environment = process.env.NODE_ENV || "development";
import knexfile from "../knexfile.js";
const connection = knexfile[environment];
import knex from "knex";
const db = knex(connection);
export default db;UPDATE Objection.js的创建者说 import { Model } from "objection"应该可以工作。
我做错了什么?
发布于 2020-04-28 01:13:56
当前唯一的解决方法似乎是像这样导入Model:
import objection from "objection";
const { Model } = objection;由于Objection.js确实像这样进行出口:
export default { Model }不是这样的:
export { Model }发布于 2020-04-27 17:39:19
如果在Node应用程序中使用.mjs,我希望您使用的是文件的import扩展名。
但是,如果使用.js作为扩展,则必须使用require调用该模块。
const { Model } = require('objection');这就是我曾经遇到的问题..。我不知道这是否能解决你的问题。
https://stackoverflow.com/questions/61458806
复制相似问题