#typescript #webpack #google-cloud-functions
#typescript #webpack #google-cloud-функции
Вопрос:
Я пытаюсь настроить функциональность псевдонима в проекте Typescript облачной функции.
Я в принципе хочу иметь возможность просто сделать это:
import { ROLES } from '@config/roles"
— ‘роли’ — это ts-файл, который экспортирует константу
Это работает только в том случае, если я создаю индексный файл в папке config, который делает export * from "./roles"
, тогда я могу это сделать import { ROLES } from '@config'
. Если у меня нет индексного файла и я пытаюсь импортировать файл ts напрямую, я получаю следующую ошибку на этапе сборки:
Ошибка: ошибка при синтаксическом анализе триггеров: не удается найти модуль ‘/ functions / config / roles’
Моя проблема в том, что существует несколько мест, откуда может возникнуть ошибка, но я, кажется, неправильно понимаю, как эти три раздела работают вместе:
tslint.json
"no-implicit-dependencies": [
true,
["@", "@model", "@services", "@utils", "@config"]
],
tsconfig
{
"compilerOptions": {
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"resolveJsonModule": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"outDir": "lib",
"sourceMap": true,
"strict": true,
"target": "es2017",
"baseUrl": "src",
"paths": {
"@/*": ["./*"],
"@model": ["model"],
"@services": ["services"],
"@utils": ["utils"],
"@config": ["config"]
}
},
"compileOnSave": true,
"include": ["src"]
}
module-alias
Я использую module-alias для сопоставления псевдонимов typescript с скомпилированными файлами js во время процесса сборки (у меня есть индексный файл, который просматривает все папки и автоматически создает имена функций на основе имен папок и файлов)
"_moduleAliases": {
"@": ".",
"@model": "lib/model",
"@services": "lib/services",
"@utils": "lib/utils",
"@config": "lib/config"
}
С приведенными выше настройками в нем говорится:
Не удается найти модуль «@config / roles» или его соответствующие объявления типов.ts (2307)
Я перепробовал все возможные комбинации изменения параметров во всех трех разделах, но я не могу просто ссылаться на файл внутри вложенной папки в пределах одного из псевдонимов, мне всегда приходится использовать бочкообразные файлы.
Мне могла бы понадобиться помощь, чтобы разобраться в моей конфигурации…
Комментарии:
1. Чтобы начать расследование, следите ли вы за какой-либо документацией?
2. Я нашел некоторую информацию о настройке, чтобы продвинуть это medium.com/@wcandillon /…
3. @MrTech извините, забыл ответить — вы действительно помогли мне решить мою проблему с вашим первоначальным сообщением. Я так застрял в режиме устранения неполадок, что забыл просто повторить шаги и следовать рабочему руководству. Тогда я нашел это, и как только я с этим справился, все было в порядке: dev.to/larswaechter/path-aliases-with-typescript-in-nodejs-4353