когда я работаю над приложением create-response-app и использую пакеты react-app-rewired
и customize-cra
для настройки конфигурации
я использую приведенный ниже код для добавления псевдонима пути к веб-пакету
const path = require('path');
const { override, addWebpackAlias, addLessLoader } = require('customize-cra');
module.exports = override(
addWebpackAlias({
'@': path.join(__dirname, 'src'),
}),
addLessLoader({
lessOptions: {
cssModules: {
localIdentName: '[path][name]__[local]--[hash:base64:5]'
},
},
})
);
, но когда я импортирую модульный файл less в файл tsx
import styles from "@/test.module.less"
, вывод сообщает мне
Cannot find module '@/test.module.less'. TS2307
, но когда я изменил приведенный выше код ниже
import "@/test.module.less"
Я примерно понимаю, что этот импорт в файл test.module.less как обычный файл less, без модульного
Когда я добавляю следующий код в response-app-env.d.ts файл
declare module "*.module.less" {
const classes: { [key: string]: string };
export default classes;
}
это отлично работает
У меня сейчас две проблемы
почему мне нужно объявить *.module.less
модуль, чтобы псевдоним пути работал для этого
почему компилятор ts знает response-app-env.d.ts и загружает его, я создал новый файл index.d.ts в каталог sr c, почему компилятор ts его не знает и загружает