#node.js #reactjs #typescript #next.js #babeljs
Вопрос:
У меня есть next.js проект, в который я пытаюсь добавить машинописный текст.
Моя структура папок выглядит следующим образом:
api
aggregation.ts
interfaces
index.ts
components
Component1
index.js
index.module.css
Component2
index.js
index.module.css
pages
page1
index.js
index.module.css
У меня есть псевдоним для interfaces
в next.config.js
config.resolve.alias.interfaces = path.join(__dirname, 'interfaces');
Теперь актуальный вопрос
index.ts
в interfaces
интерфейсах экспорта, таких как
export interface Order {
store: Store;
orderNumber: string;
totals: Totals;
customer: Customer;
currency: Currency;
paymentMethod: PaymentMethod;
items: OrderProduct[];
createdAt: string;
orderId: string;
}
И я пытаюсь импортировать их в aggregation.ts
такие
import { Order } from 'interfaces';
И я получаю
Cannot find module 'interfaces' or its corresponding type declarations.
Что также приводит к сбою сборок.
Я установил
"@types/node": "^16.0.1",
"@types/react": "^17.0.14",
"typescript": "^4.3.5",
И далее сгенерировал next-env.d.ts
правильно с
/// <reference types="next" />
/// <reference types="next/types/global" />
Есть какие-нибудь идеи о том, как решить эту Cannot find module
проблему? У меня такое чувство, что это может быть как-то связано со структурой моих папок или этапом сборки. Но я также получаю подсветку синтаксиса, указывающую на ошибки импорта, так что, вероятно, это связано с конфигурацией typescript.
Буду признателен за любой совет!
Комментарии:
1. Вы пробовали настроить псевдонимы путей в своем
tsconfig
, как описано в разделе Абсолютный импорт и псевдонимы путей модулей ?2. @juliomalves это сработало! Спасибо! Решено! Опубликуйте в качестве ответа, чтобы я мог отметить его