Я работаю над бессерверным монорепроектом. Ниже моя структура папок
+
-node_modules
-src
--services
---service_A
----index.ts
----serverless.yml
---service_B
---service_C
--util
---myfunc.ts
-.babelrc
-package.json
-webpack.config.json
-tsconfig.json
+
Мой index.ts
файл в service_A
использует функцию в myfunc.ts
, которая находится в папке utils
. Service_A, serverless.yml
файл указывает на файл конфигурации webpack на уровне root. Когда я пытаюсь развернуть службу на AWS с помощью терминала в src/services/service_A
, babel-loader
говорит, что не может обработать файлы в папке utils, выдавая синтаксическую ошибку.
Таким образом, babel-loader может читать TS только в папке src/services/service_A
, но не в папке utils
или какой-либо другой службе. Ниже приведен мой .babelrc.
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
],
"@babel/preset-typescript"
],
"plugins": ["@babel/plugin-proposal-class-properties"],
"babelrcRoots": ["."]
}
Я заметил несколько странных поступков.
1 - Если я удаляю .babelr c, babel-loader не сможет перенести любой файл. (Конечно !!)
2 - Если я подключаюсь к src/services/service_A
и пытаюсь развернуть эту службу, babel-loader
переносит только файлы TS в этой папке.
3 - Как в этом документе https://babeljs.io/docs/en/configuration, он говорит об использовании babel.config.js
в монорепроекте. Поэтому я добавил этот файл в проект root. Babel не может найти конфигурацию (такую же, как 1)
4 - Если я добавлю эти опции .babelrc
в веб-пакете, babel-loader работает нормально.
Так что не так с babel-loader, чтобы вести себя так? (Что я делаю не так?)