Size: a a a

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

2020 May 05

PG

Pavel Grom in Next.js — русскоговорящее сообщество
подскажите плиз.
делаю symlink для компонента страницы /pages/test.jsx -> /pages/[lang]/test.jsx
и при npm run dev валится с ошибкой
UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, stat '\pages\[lang]\test.jsx'
как победить это?
то ли nextjs не видит симлинк то ли хз
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
вообще мне нужно сделать, что бы языки были на разных урлах.
типа /ru/test, /en/test и т.п.
но, при этом надо что бы, например, ru язык был в корне, то есть в /test.
тупой вариант(и возможно единственный):
дублировать компоненты, то есть
/pages/test.jsx - для дефолтного/корневого языка
/pages/[lang]/test.jsx - для остальных языков
приемлимый вариант с симлинками как в моём сообщении выше.
но вот беда блин
источник

▲R

▲ Max Rovensky in Next.js — русскоговорящее сообщество
Pavel Grom
вообще мне нужно сделать, что бы языки были на разных урлах.
типа /ru/test, /en/test и т.п.
но, при этом надо что бы, например, ru язык был в корне, то есть в /test.
тупой вариант(и возможно единственный):
дублировать компоненты, то есть
/pages/test.jsx - для дефолтного/корневого языка
/pages/[lang]/test.jsx - для остальных языков
приемлимый вариант с симлинками как в моём сообщении выше.
но вот беда блин
// test/[lang]/index.js

import page from ‘../

export default page
источник

▲R

▲ Max Rovensky in Next.js — русскоговорящее сообщество
// test/index.js
import Router from ‘next/router’

export default function Page() {
 const { lang } = Router.query

}
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
▲ Max Rovensky
// test/[lang]/index.js

import page from ‘../

export default page
вот к этому варианту пришел уже.
но уже имеется десятки страниц и могут в будущем появляться.

думаю написать скрипт, который будет обходить все страницы и создавать файлы в [lang]
источник

▲R

▲ Max Rovensky in Next.js — русскоговорящее сообщество
Я не понял необходимости отдельных файлов
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
надеюсь нода умеет создавать jsx файлы)
источник

▲R

▲ Max Rovensky in Next.js — русскоговорящее сообщество
Один файл на все и один файл в [папке] для параметра 🤔🤔🤔
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
▲ Max Rovensky
Я не понял необходимости отдельных файлов
есть 3 языка - en, de и fr
de - дефолтный язык, страницы которого должны быть в корне
источник

▲R

▲ Max Rovensky in Next.js — русскоговорящее сообщество
Еще как вариант вынести параметр на первый уровень, тогда вся структура будет под параметром и все становится сильно проще
источник

▲R

▲ Max Rovensky in Next.js — русскоговорящее сообщество
/[lang]/whatever/things/stuff
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
но при de языке параметра нету в урле)
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
▲ Max Rovensky
/[lang]/whatever/things/stuff
/[lang]/whatever/things/stuff - en и fr языки
/whatever/things/stuff - de язык
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
ну типа без [lang] в урле мы ж не попадем в [lang] страницы
источник

TG

Timofey Goncharov in Next.js — русскоговорящее сообщество
Как сделать так, что бы сервер не крашился из-за ошибок typescript?
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
Pavel Grom
подскажите плиз.
делаю symlink для компонента страницы /pages/test.jsx -> /pages/[lang]/test.jsx
и при npm run dev валится с ошибкой
UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, stat '\pages\[lang]\test.jsx'
как победить это?
то ли nextjs не видит симлинк то ли хз
всего то надо было прочитать документацию isaachinman/next-i18next
там языки разделенные по папкам как основная фича
источник

ᐺ ! ᖇ ᖶ ᒪ in Next.js — русскоговорящее сообщество
Timofey Goncharov
Как сделать так, что бы сервер не крашился из-за ошибок typescript?
strict: false в tsconfig
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
Pavel Grom
но при de языке параметра нету в урле)
А разве хорошо делать язык именно через урл?
источник

PG

Pavel Grom in Next.js — русскоговорящее сообщество
Oleg Rizhkov
А разве хорошо делать язык именно через урл?
Ну таск такой.
Но вообще почему бы и нет?
Гуглить могут на разных языках
источник

OR

Oleg Rizhkov in Next.js — русскоговорящее сообщество
Pavel Grom
Ну таск такой.
Но вообще почему бы и нет?
Гуглить могут на разных языках
Ну не знаю. Мне это кажется неправильным. Язык, по идее, - стейт приложения. А мы его в урле храним. Локал стор как-то логичнее выглядит.
источник