Очень ценная инфа как для новичков, я хоть и знал более половины из этого, но посмотри это видео раньше, столько времени бы сэкономил) спасибо за видос!
У Prettier есть некоторая особенность при форматировании кода, некоторые правила конфликтуют с ESLint с точки зрения оформления кода. Дополнительно в таком случае еще надо ставить пакет eslint-plugin-prettier и произвести настройку.
@@egolege поэкспериментируйте сами, используя установленные плагины ESLint и Prettier. Подхватив конфиги с папки проекта они позволят на лету проверять, а не в случае, как на видео когда через npm команды выполняется линтинг и форматирования. По-крайней мере вариант проверки кода на лету я предпочитаю больше чем через команды
в целом прекрасный обзор! Не смог пройти мимо так как пытаюсь решить проблему alias на 18 nodejs. К слову, 18 нода и даст все современные преимущества )
на 4:49 при вводе touch src/main.ts touch : Имя "touch" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку. В чем может быть проблема?
@@GunaevVO Запусти данную команду с линуксовского терминала bash или zsh. Если ты с винды, то установи Git Bash или уже даже WSL (Windows Subsystem for Linux). В PowerShell или cmd другой синтаксис команд
@Владилен Минин если установить Next13 то типы и линт добавляются в dependencies а не в dev как у вас... Зашел в замешательство, куда правильно устанавливать?
Спасибо за полезное видео. Подскажите пожалуйста а если я хочу сделать один репозиторий и в нем 2 папки client(React) и server(NodeJs) то получается у меня в каждой будет свой pacage.json, свои папки node.modules и свои настройки для притера и линтера но будет общий файл gitignore в корневой папке, а как быть с хаски где его прописывать? ведь коммит будет для обеих папок и нужно чтобы линтер в обеих сработал, или нужно еще как то третий json в корневую папку? Подскажите как это делать правильно кто знает !!! :)
чето эта хрень с расширением .js выглядит как какой то костыль. Я вообще разочаровался когда переключил на режим module и обнаружил что теперь и расширение надо явно указывать, и папки он не импортирует, если в них index.js лежит
После добавления type: "module" в package.json получаю ошибку [err_unknown_file_extension]: unknown file extension ".ts". Кто-нибудь сталкивался? Как можно исправить?
.js как убрать кто нашел? кто нашел как импортить модули по названию папки, без index.js? вебпак по старинке нужно добавить что ли? или более современные esbuild и тд? легче уже на deno перейти. Раз в 2-3 года typescript устраивает нам "приколы"
если что noImplicitAny в tsconfig.json автоматически включена, если strict имеет true... npx в package.json scripts? Cерьезно!? xD Ну и жесть... Автор видео не совсем понимает, что он делает... Без обид, но считаю подобные видео инструкции преступлением. Совет смотрящим, проверьте сказанное автором в документации соответствующих инструментов.
@@zahar1381 он имеет в виду, что скрипты не должны скомпилиться просто на просто, если из этой папки нет доступа. в частности к локальной, tsc. То есть достаточно написать tsc и npx излишнее. Но мне почему-то понравилась эта конкретика, хоть и не нужная.
@@xlyak8261 +1 в список пида*асов тогда их. Нечего во вражеском облаке хранить данные, у яндекса аналогичные сервисы есть. Но вообще какой в них смысл если можно на своем сервере поднять БД
@@Ksushapi чтобы это исправить я сделал следующее. 1. В /src создал файл register.js с содержимым: ``` import { register } from "node:module"; register("ts-node/esm", import.meta.url); ``` 2. Команду запуска заменил на: `npx nodemon -I --exec node --experimental-specifier-resolution=node --import ./src/register.js ./src/main.ts`
@@Ksushapi но в итоге мне вообще не понравилась реализация с nodemon и ts-node, потому что при краше у меня не выводится детализация ошибки. Так что я нашел более простое решение. Установить пакет tsx и команду запуска заменить на `npx tsx watch src/main.ts`.
Инструкция и исходный код тут: t.me/js_by_vladilen/548
Закрытый блог в Boosty: boosty.to/vladilen
Вы просто не представляете насколько актуально это и как вовремя для меня вы это выложили. Огромная благодарность за труды!!!
Ахаха, для меня тоже. На два дня раньше бы ещё)
Ребят пишу микросервисы на nodejs для junior, кому актуально - добро пожаловать💪
Очень полезный ролик! Благодарю!
У Владилена бесплатный контент, круче чем у некоторых на платных ресурсах.
Так, у кого ошибка: ERR_UNKNOWN_FILE_EXTENSION
Нужно установить tsx вместо ts-node и изменить в nodemon.json, в строке exec, соответственно.
Спасибо
Благодарю
Спасибо, очень выручил
Мне ИИ вот так насоветовал, тоже работает
"exec": "node --loader ts-node/esm ./src/main.ts"
Владилен, спасибо. Топ контент. Минимум воды, всё четко и по красоте.
🤝
Владилен, спасибо за подробное раскрытие информации. Как всегда все разложено по полочкам и разжевано до полной ясности. Однозначно лайк.
Не всё
Как всегда топ контент! Спасибо!
Спасибо тебе большое добрый Человек !
Очень ценная инфа как для новичков, я хоть и знал более половины из этого, но посмотри это видео раньше, столько времени бы сэкономил) спасибо за видос!
Четко ясно и по полочкам, как и всегда. Благодарю за хорошую подачу и четкое объяснение!!!
Спасибо! Очень полезное видео.
Комментарий в поддержку видео. Спасибо за урок, полезная информация!
Лайк с двух ног! Спасибо тебе за контент!
Просто прекрасно!
Как раз я недавно начал учить нодежс и хотел курс от Владилена. Спасибо за труд 🎉
Самое полезное видео что я видел по этой тематике
Огромное спасибо, очень познавательно
Это просто гениально! Я как раз заканчиваю изучать основы js и перехожу на ts, очень актуально и вовремя подана информация)
а что гениального то
@@nade3282 Очень понятно и доступно объяснить тему - признаки гениальности
@@Happy-wt9dy ты его переоцениваешь
@@Happy-wt9dy и это не признаки гениальности
@@nade3282 Ты че до***ся до человека?
Ураа, спасибо за видео!!
Старый добрый Владилен. Учился по твоим роликам.
Боже это же ангел 😂. Спасибо за видео, реально полезно
О, ты вернулся, с возвращением!
🫡
Классное видео, спасибо!
У Prettier есть некоторая особенность при форматировании кода, некоторые правила конфликтуют с ESLint с точки зрения оформления кода. Дополнительно в таком случае еще надо ставить пакет eslint-plugin-prettier и произвести настройку.
Примеры в студию
@@egolege поэкспериментируйте сами, используя установленные плагины ESLint и Prettier. Подхватив конфиги с папки проекта они позволят на лету проверять, а не в случае, как на видео когда через npm команды выполняется линтинг и форматирования. По-крайней мере вариант проверки кода на лету я предпочитаю больше чем через команды
@@evgeniy_pashko соглсен с тем, что именно на лету, иначе теряется всякий смысл исполльзования. причем сделать то не долго и не сложно.
Блять, это написано в доках преттир, ватсон
Актуальная инфа по typescript, однозначно лайк!
микросервисы nodejs для junior , кто в теме - заходим в гости!
Не смотрел, но одобряю. )))
в целом прекрасный обзор! Не смог пройти мимо так как пытаюсь решить проблему alias на 18 nodejs. К слову, 18 нода и даст все современные преимущества )
на 4:49 при вводе touch src/main.ts
touch : Имя "touch" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку. В чем может быть проблема?
тоже самое, как исправть ?
@@Maksim-nu8hb да, ты прав, с BASH или ZSH все работает
@@GunaevVO Запусти данную команду с линуксовского терминала bash или zsh. Если ты с винды, то установи Git Bash или уже даже WSL (Windows Subsystem for Linux). В PowerShell или cmd другой синтаксис команд
Ну а вот в create react app проекте по дефолту запуск eslint - это часть сборки
Для этого в скрипт запуска достаточно npx eslint добавить?
спасибо очень ценная инфа, а rimraf с флагом -D? на проде же тоже надо наверное папку build обновлять иначе после 50 коммитов там скопится всякое
И всё??? Так легко ? Спасибо!!! Просто огромное спасибо !
Спасибо за контент! Имхо скрипты были бы изящней, если их ещё разбить на prebuild и prestart так, чтобы все что до амперсандов туда
@Владилен Минин если установить Next13 то типы и линт добавляются в dependencies а не в dev как у вас... Зашел в замешательство, куда правильно устанавливать?
они нужны в продакшене? Если они вам нужны, то оставляйте в dependencies, а если нет, то лучше в dev
Для работы тайпскрипта НЕ нужен ts node.
Спасибо за полезное видео. Подскажите пожалуйста а если я хочу сделать один репозиторий и в нем 2 папки client(React) и server(NodeJs) то получается у меня в каждой будет свой pacage.json, свои папки node.modules и свои настройки для притера и линтера но будет общий файл gitignore в корневой папке, а как быть с хаски где его прописывать? ведь коммит будет для обеих папок и нужно чтобы линтер в обеих сработал, или нужно еще как то третий json в корневую папку? Подскажите как это делать правильно кто знает !!! :)
prettier не заработал, пока его не поставил как Plugin для VS Code
Prettier , для чего он нужен? Ведь ESLint тоже может фиксить код
Prettier нужен для того, чтобы форматировать код, а не фиксить.
а где папка .husky
так как показал точно будет работать?
У меня не работает, наверно так не пойдет, и нужно чтобы была папка .husky
А что с папкой node_modules? Каждый новый проект будет генерировать новую папку с кучей библиотек и весить по 500мб... Может на pnpm переходить?
Pnpm без ВПН в РФ не установить, санкции
Как вариант Deno, Rust.
@@СергейКурганов-о2э К сожалению, Deno не востребован в компаниях.
Владилен а что тут нового для 2023?
чето эта хрень с расширением .js выглядит как какой то костыль. Я вообще разочаровался когда переключил на режим module и обнаружил что теперь и расширение надо явно указывать, и папки он не импортирует, если в них index.js лежит
Согласен, выглядит как костыль. Но это в теории дает возможность работать одновременно с модулями и CommonJS. Например, для миграции проектов
После добавления type: "module" в package.json получаю ошибку [err_unknown_file_extension]: unknown file extension ".ts".
Кто-нибудь сталкивался? Как можно исправить?
можешь убрать строку. У меня без нее все работает
.js как убрать кто нашел?
кто нашел как импортить модули по названию папки, без index.js?
вебпак по старинке нужно добавить что ли?
или более современные esbuild и тд? легче уже на deno перейти.
Раз в 2-3 года typescript устраивает нам "приколы"
С появлением Bun можно уже не морочиться с node.js
Ну очень интересно,➡⌨ но ничего не понятно ‼
Почему не объяснить с самого начала. Как настроить node для VS Code?
потому что node устанавливать на пк непосредственно, а не для vscode
Да и видео називаеться как добавить ts в nodes проект
@@wlyapa я знаю, что node на ПК непосредственно. Он у меня работает, только у меня не так side bar выглядит..хз почему
Очень сложно. Я думал, ts в node можно включить установкой одного-двух пакетов, и всё само по себе заработает.
Капец и это только настройка😨 а в проекте наверняка еще больший кошмар
как можно было не добавить алиасы в проект 2023 года ..
если что noImplicitAny в tsconfig.json автоматически включена, если strict имеет true... npx в package.json scripts? Cерьезно!? xD Ну и жесть... Автор видео не совсем понимает, что он делает... Без обид, но считаю подобные видео инструкции преступлением. Совет смотрящим, проверьте сказанное автором в документации соответствующих инструментов.
и чо не так с npx, ты выдумал какое то новое правило?
@@zahar1381 он имеет в виду, что скрипты не должны скомпилиться просто на просто, если из этой папки нет доступа. в частности к локальной, tsc. То есть достаточно написать tsc и npx излишнее. Но мне почему-то понравилась эта конкретика, хоть и не нужная.
а можно еще видео про альтернативы MongoDB? А то доступ россиянам к этому приложению закрыт
с какого это перепугу?
@@СергейВ-о8ъ когда путлер на Украину напал, многие иностранные компании ушли из России, в том числе и Mongo.Без впн туда не зайдёшь.
@@astkh4381 ты бредишь что ли? я только что взял и зашел без всяких VPN
Закрыли MongoDB Atlas, надо искать альтернативные клауд-сервисы
@@xlyak8261 +1 в список пида*асов тогда их. Нечего во вражеском облаке хранить данные, у яндекса аналогичные сервисы есть. Но вообще какой в них смысл если можно на своем сервере поднять БД
а еще можно использовать nest и не заниматься фигней
о, фрейморкодрочер найден
@@grenadier4702 шта?
nest хорош!)
может ли человек с IQ 90 стать крутым программистом ????
Крутым - нет. Клепать однотипные задачи и много зарабатывать - вполне.
1
Для тех у кого не работает nodemon
"dev": "nodemon -I --exec node --experimental-specifier-resolution=node --loader ts-node/esm ./src/main.ts"
Спасибо. Помогло исправить ошибку ERR_UNKNOWN_FILE_EXTENSION.
немного костыль...`--experimental-loader` may be removed in the future; instead use `register()` Может быть можно проще?
@@Ksushapi чтобы это исправить я сделал следующее.
1. В /src создал файл register.js с содержимым:
```
import { register } from "node:module";
register("ts-node/esm", import.meta.url);
```
2. Команду запуска заменил на:
`npx nodemon -I --exec node --experimental-specifier-resolution=node --import ./src/register.js ./src/main.ts`
@@Ksushapi но в итоге мне вообще не понравилась реализация с nodemon и ts-node, потому что при краше у меня не выводится детализация ошибки.
Так что я нашел более простое решение. Установить пакет tsx и команду запуска заменить на `npx tsx watch src/main.ts`.
Золотой ты человек!
інстОл ...