gpt4 book ai didi

node.js - 如何解决sequelize ./types pakage的问题。错误: Package subpath './types' is not defined by "exports" sequalize

转载 作者:行者123 更新时间:2023-12-02 01:31:38 25 4
gpt4 key购买 nike

我有错误:包子路径'./types'不是由与sequ​​elize包连接的“导出”定义的。(错误:包子路径“./types”未由 D:\Projects\pets\realtime-chat\backend\node_modules\sequelize\package.json 中的“exports”定义)。

尝试解决将所有npm和node版本更新到最新版本的问题,但不成功。我已经为我的应用程序设置了带有 socket.io 的 Express 服务器,并使用 TypeScript 创建了带有 Sequelize 的用户模型。

当我尝试使用 User.create({\attributes}) 创建新用户时,它会抛出上面提到的错误。

server.ts

import express from "express"
import { createServer } from "http"

import { Server } from "socket.io";

import apiRouter from "./routes/api.route";

import { seq } from "./models/db"

const app = express();

app.use("/api", apiRouter);
const httpServer = createServer(app);
const io = new Server(httpServer);

io.on("connection", (socket) => {
console.log(socket.id);
});

httpServer.listen(process.env.PORT || 5000, () => {
console.log(seq.config);
seq.authenticate();

console.log("Server is started")
});

User.model.ts

import { DataTypes, Model, Optional } from "sequelize/types";
import { seq } from "./db";

interface UserAttributes {
username: string,
password: string,
email: string
}

type UserCreationAttributes = Optional<UserAttributes, "email">;

class User extends Model<UserAttributes, UserCreationAttributes> {
declare username: string;
declare password: string;
declare email: string
}

User.init({
username: {
type: DataTypes.STRING,
},
password: {
type: DataTypes.STRING
},
email: {
type: DataTypes.STRING
}
},
{
sequelize: seq,
tableName: "users"
});

export default User;

我的 api.route.ts

import express from "express"

import User from "../models/User";

const router = express.Router();

router.get("/users", async () => {
await User.create({
password: "name",
username: "name"
})
});

export default router;

最佳答案

只需直接从 sequelize 导入所有这些类型:

import { DataTypes, Model, Optional } from "sequelize";

关于node.js - 如何解决sequelize ./types pakage的问题。错误: Package subpath './types' is not defined by "exports" sequalize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73181297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com