我有这个.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文件,这给我带来了麻烦。但是我不知道该如何验证,也不知道如何解决。
有什么建议吗?
答案 0 :(得分:1)
尝试将.sequelizerc
添加到tsconfig
的包含内容中,如下所示:
{
..prev configs...,
include: [ ...your paths..., ".sequelizerc"],
}
答案 1 :(得分:0)
删除点。将.sequelizerc重命名为sequelizerc