[英]How to declare a module in TypeScript with an object as default export
[英]How to default export a folder in TypeScript?
有一个我无法弄清楚的愚蠢问题
我有一个名为 model 的文件夹,在该文件夹中有questions.ts
、 revokedtokens.ts
和users.ts
。 我正在努力做到这样你就可以
import model from '../../model';
然后使用model.questions.whatever()
所以我做了一个index.ts
,这是在里面
import questions from './questions.js';
import revokedtokens from './revokedtokens.js';
import users from './users.js';
export default {
questions,
revokedtokens,
users,
};
但是现在我遇到了一个 TS 问题,说 Directory import XX s not supported resolving ES modules imported from YY
我正在使用节点 14
这是我的tsconfig.json
{
"compilerOptions": {
"outDir": "./built",
"allowSyntheticDefaultImports": true,
"lib": ["ES2020"],
"module": "ES2020",
"moduleResolution": "node",
"target": "ES2020",
"resolveJsonModule": true
},
"include": ["./**/*", "./**/*.json"],
"exclude": ["node_modules", "built"]
}
我有"type": "module",
在我的package.json
./model/questions.ts
的示例
import mongoose from 'mongoose';
import constants from '../libraries/constants.js';
import { regex } from '../utils.js';
import { QuestionsDocument } from '../definitions';
const questions = new mongoose.Schema(
{
type: {
type: String,
enum: Object.values(constants.model.questions.type),
lowercase: true,
required: true,
},
question: {
index: { unique: true },
type: String,
minlength: 3,
required: true,
},
},
{ timestamps: true }
);
export default mongoose.model<QuestionsDocument>('questions', questions);
你能试试这个吗?
import questions from './questions';
import revokedtokens from './revokedtokens';
import users from './users';
const model = {
questions,
revokedtokens,
users,
};
export default model;
我能够通过将模块更改为来解决此问题
"module": "CommonJS",
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.