Size: a a a

Next.js — русскоговорящее сообщество

2020 June 21

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
меня интересует сама структура, я перенес тесты так как описал выше, это все работает, но сама структура норм?

я просто делаю storybook и тесты для компонентов и страниц, мне сказали что структура должна быть примерно такой:
components
  first-component
     first-component.stories.tsx
     first-component.test.tsx
     first-component.tsx
  second-component
     second-component.stories.tsx
     second-component.test.tsx
     second-component.tsx


но мне непонятно как быть со страницами, тесты и сторисы добавлять по такому же принципу как и с компонентами?
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
Если хранить тесты рядом с файлами в pages то билд не собирается

вопрос, где тогда хранить тесты для страниц и для [id].tsx?
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Artem Barshatskyi
Если хранить тесты рядом с файлами в pages то билд не собирается

вопрос, где тогда хранить тесты для страниц и для [id].tsx?
храни отдельно
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
🦜
храни отдельно
а тесты для компонентов можно хранить так как я выше описал?
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Artem Barshatskyi
а тесты для компонентов можно хранить так как я выше описал?
посмотри как предлагает твоя либа для тестов
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
🦜
посмотри как предлагает твоя либа для тестов
мне руководство сказало что нужно хранить тесты как я выше описал, но конкретно со страницами так не получается, билд не собирается тк в папке pages есть сторонние файлы (тесты)

может где то конфиг можно подправить что бы во время сборки игнорил *.test.tsx внутри pages?
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Artem Barshatskyi
мне руководство сказало что нужно хранить тесты как я выше описал, но конкретно со страницами так не получается, билд не собирается тк в папке pages есть сторонние файлы (тесты)

может где то конфиг можно подправить что бы во время сборки игнорил *.test.tsx внутри pages?
Нет.
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Только если будешь сам ковырят вебпак конфиг
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
🦜
Только если будешь сам ковырят вебпак конфиг
ну да, а как по другому конфиг настроить?
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Artem Barshatskyi
ну да, а как по другому конфиг настроить?
в смысле как?
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
🦜
Только если будешь сам ковырят вебпак конфиг
понятно что самому ковырять, по другому никак конфиг не настроишь
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
нашел такой вариант
создать next.config.js и внутри указать:
module.exports = {
 webpack: (config, { webpack }) => {
   config.plugins.push(new webpack.IgnorePlugin(/\*.test.tsx/))
   return config
 }
}
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
но это работает не так как надо, есть кто сталкивался с такой ситуацией и как правильно написать игнор?
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
Решение

Создаем next.config.js

суем туда

module.exports = {
 pageExtensions: ["page.tsx"],
}


файл страниц должен быть с расширением .page.tsx и все гуд работает, билд собирается  и можно добавлять тесты и сторисы (storybook)
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Artem Barshatskyi
Решение

Создаем next.config.js

суем туда

module.exports = {
 pageExtensions: ["page.tsx"],
}


файл страниц должен быть с расширением .page.tsx и все гуд работает, билд собирается  и можно добавлять тесты и сторисы (storybook)
Держать сторибук в основном проекте, имхо, такое себе
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Как он влияет на файловую структуру?
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
🦜
Как он влияет на файловую структуру?
никак, это больше для удобства
мне сказали - я делаю)

я бы оставил как и было, в корне папка story и в ней сторисы
источник

🦜

🦜 in Next.js — русскоговорящее сообщество
Ясно
источник

AB

Artem Barshatskyi in Next.js — русскоговорящее сообщество
Подскажите пожалуйста, могу я в pages создавать types.ts с интерфейсами и типами? После этого импортировать на нужных страницах и использовать?

в данный момент во время билда он у меня ругается тк думает что types.ts это очередная страница, мб игнор где добавить?

или типы и интерфейсы мне надо использовать  внутри файлов страниц без создания types.ts ?
источник

ВЛ

Владимир Линкевич... in Next.js — русскоговорящее сообщество
Artem Barshatskyi
Подскажите пожалуйста, могу я в pages создавать types.ts с интерфейсами и типами? После этого импортировать на нужных страницах и использовать?

в данный момент во время билда он у меня ругается тк думает что types.ts это очередная страница, мб игнор где добавить?

или типы и интерфейсы мне надо использовать  внутри файлов страниц без создания types.ts ?
в папке pages ни чего кроме страниц быть не должно. не задавайте больше однотипных вопросов пожалуйста вам на него ответили. В папке PAGES должны быть только индексфайлы страниц. добавляя каким то образом файлы в игнор вы нарушаете концепцию каждый документ в папке является страницей!
источник