Вавилон ведет себя плохо в проекте в стиле монорепо - PullRequest
0 голосов
/ 27 марта 2020

Я работаю над бессерверным монорепроектом. Ниже моя структура папок

+
-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, выдавая синтаксическую ошибку.

enter image description here

Таким образом, 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, чтобы вести себя так? (Что я делаю не так?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...