typescript

typescript

Typescript: ленивая запись aka list из PHP

Если у нас есть функция, возвращающая два значения в формате массива return [from, to];, то мы можем использовать ленивую запись

let [from, to] = this.getSelectedDateRange();

а если нужен только первый или только второй

let [, to] = this.getSelectedDateRange();
let [from] = this.getSelectedDateRange();

typescript

Typescript: красиво просто и быстро скомпилировать в один файл

PhpStorm с плагинами — отличный выбор для fullstack php программиста.

Чтобы не бегать по всему проекту и не путать app.js и app.ts — очень советую сразу настроить автокомпиляцию кода тайпскрипта в один прикольный файлик js. tsconfig.json в корне проекта очень помогает). Или добавить file watcher соотвествующий.

{
"compilerOptions": {
	"target": "es5",
	"module": "commonjs",
	"moduleResolution": "node",
	"sourceMap": false, 
	"outFile" : "public/js/all.js",
	"emitDecoratorMetadata": true,
	"experimentalDecorators": true,
	"removeComments": false,
	"noImplicitAny": false
}
}

typescript

Структура универсального проекта

PHP проекты сейчас стали все более и более сложными, а одного бекенда подчас недостаточно — поэтому мы обычно работаем уже в связке фронт и бекенда и кучи маленьких «плагинчиков», «сборщиков» и «компиляторов». Зачем каждый из них и что делается — простыми словами, без лишнего.

php storm project

Продолжить чтение…


typescript

TYPESCRIPT: Пример для изучения Часть 1

Как настоящий «фуллстек» все могу все умею программист, я часто пишу обе части кода, и часто это достаточно неприятные минуты «яваскрипт» ненависти.
С этим надо как-то бороться, и отличным примером борьбы является использование typescript. В качестве примера будет использован алгоритм игры «жизнь» (см https://ru.wikipedia.org/wiki/Жизнь_(игра))

В PhpStorm поддержка typescript включается плагином, после этого достаточно создать первый файл *.ts и указать параметры компиляции в tsconfig.json (я предпочитаю складывать код js в отдельную папку, чтобы на него не натыкаться при разработке). Я накручиваю сразу все остальные штучки из npm, так как дальше проект обрастает обычно компиляцией css, дополнительными либами и прочая прочая прочая). Полный пример кода можно скачать тут

Продолжить чтение…