如何配置sequelize和sequelize-cli以使用typescript

问题描述 投票:0回答:2

如何配置 Sequelize 和 Sequelize-CLI 以与 TypeScript 配合使用

我有一个项目需要使用sequelize和typescript来维护,我尽可能努力地配置它们,但我做不到。我无法使用cli生成模型,有时在网上找到一些配置后cli会生成js文件,或者有时会生成ts文件但无法迁移。

注意:当我使用sequelize和javascript工作时一切正常,但为此我必须使用typescript。

我需要解释如何从头开始配置sequelize和typescript,或者配置代码(如果可能的话)。

我什至使用了sequelize-typescript、sequelize-cli-typescript依赖项,但无法配置应用程序来创建模型或使用sequelize迁移数据库。

typescript sequelize.js config sequelize-cli sequelize-typescript
2个回答
0
投票

我也遇到同样的问题并解决了。

因为您想在基于打字稿的项目上运行它。 Sequelize-cli 似乎默认不支持 typescript,并导致出现无法理解带有

.ts
扩展名的文件的错误消息。

我会认为您还在项目中配置了打字稿。

为了能够从打字稿文件加载配置,我们需要使用 JavaScript 文件。为此,请在项目的根目录中创建一个名为

sequelize.config.js
的文件,其中包含以下内容:

require('ts-node/register');
const config = require('./config/database.ts'); // Change the path to your config file

// for debug purposes
console.log({config})

module.exports = config;

此文件使用 ts-node/register 来启用 Sequelize CLI 的 TypeScript 支持。

现在在

.sequelizerc
文件中更正配置的路径,对我来说它看起来像这样。

const path = require('path');

module.exports = {
  config: path.resolve('sequelize.config.js'),
  'models-path': path.resolve('db', 'models'),
  'seeders-path': path.resolve('db', 'seeders'),
  'migrations-path': path.resolve('db', 'migrations'),
};


-2
投票

无需将sequelize-cli 与TypeScript 一起使用。只要使用 JavaScript 就可以了。要使用 Sequelize 使用 TypeScript,我建议阅读文档:https://sequelize.org/docs/v6/other-topics/typescript/

© www.soinside.com 2019 - 2024. All rights reserved.