typescript 无法识别 .sequelizerc 文件

typescript cannot recognize .sequelizerc file

我有这个 .sequelizerc 文件:

const path = require('path');

module.exports = {
  config: path.resolve('.', 'src/config/sequelizeCLIConfig.json'),
  'migrations-path': path.resolve('.', 'db', 'migrations'),
};

然后我有一个 .ts 文件生成名为 generateSequelizeCLIConfig.ts 的 cli 配置文件,它执行以下操作:

import path from 'path';
import fs from 'fs';
import config from '../../src/config';
import sequelizeRC from '../../.sequelizerc';

const env = process.env.NODE_ENV || 'development';

const targetFile = path.resolve(sequelizeRC.config);

const sequelizeCLIConfig: Record<string, any> = {};
sequelizeCLIConfig[env] = config.db;

fs.writeFile(targetFile, JSON.stringify(sequelizeCLIConfig, null, 4), err => {
  if (err) {
    return console.log(err);
  }

  console.log('The sequelizeCLI config file was saved at ' + targetFile + '!');
});

计划是,每次我需要迁移时,我都会先 运行 这个脚本。该脚本从 config 文件夹中获取数据并生成 src/config/sequelizeCLIConfig.json。然后我 运行 使用此 .json 文件中的配置数据进行迁移。

所以文件结构是这样的:

-.sequelizerc
-db
  |-scripts
    |-generateSequelizeCLIConfig.ts
-src
  |-config
    |-index.ts
.sequelizerc

但是我在编译时遇到了这个错误 generateSequelizeCLIConfig.ts:

TSError: ⨯ Unable to compile TypeScript:
db/scripts/generateSequelizeCLIConfig.ts(4,25): error TS2307: Cannot find module '../../.sequelizerc'.

看来 .sequrlizerc 没有被识别,虽然我已经仔细检查过这个文件确实存在。

我的猜测是,幕后的 .sequelizerc 是一个 .js 文件,而不是 .ts 文件,这给我带来了一些麻烦。但我不知道如何验证这一点,也不知道如何修复它。

有什么建议吗?

删除点。将 .sequelizerc 重命名为 sequelizerc

尝试将 .sequelizerc 添加到您的 tsconfig 中,如下所示:

{
 ..prev configs...,
include: [ ...your paths..., ".sequelizerc"],

}