【问题标题】:typescript cannot recognize .sequelizerc file打字稿无法识别 .sequelizerc 文件
【发布时间】:2020-10-19 19:29:07
【问题描述】:

我有这个 .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 文件,这给我带来了一些麻烦。但我不知道如何验证这一点,也不知道如何解决它。

有什么建议吗?

【问题讨论】:

    标签: node.js typescript sequelize.js sequelize-cli sequelize-typescript


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2020-04-30
        • 2023-03-26
        • 1970-01-01
        • 2017-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多