то, что беспокоит меня при написании тестов в моей структуре папок, заключается в следующем:
//App
meteor/imports/api/tasks.js
//test
meteor/test/imports/api/tasks.test.js
Итак, теперь, когда я импортирую что-то из tasks.js, я иду как import { task } from '../../../imports/api/tasks.js'
и моя структура папок намного больше, чем эта.
Есть ли лучшее решение?
Я думал об крюке импорта, может быть, в корневом каталоге тестов, поэтому я могу импортировать все вещи оттуда, и когда я нахожусь в тесте, я могу импортировать из крюка импорта и не нужно делать все ../../../../
навигация.
Если вы используете babel, вы можете добавить babel-plugin-module-resolver в свою конфигурацию babel.
Плагин Babel для добавления нового распознавателя для ваших модулей при компиляции вашего кода с помощью Babel. Этот плагин позволяет вам добавлять новые "корневые" каталоги, содержащие ваши модули. Он также позволяет настроить пользовательский псевдоним для каталогов, определенных файлов или даже других модулей npm.
Модуль распознавателя может столкнуться с обработкой модуля webpack2, поэтому вы хотите ограничить его только тестами:
Пример.babelrc:
"env": {
"test": {
"plugins": [
["module-resolver", {
"root": ["./meteor/imports"]
}]
]
}
}
"root": ["./"]
и "root": ["./src"]
но все еще не "root": ["./src"]
разрешить модули.
использование
/imports/api/tasks.js
вместо
../../../imports/api/tasks.js
Начало/начинается с знака root.
/
перед путем.