@typescript_ru

Страница 185 из 669
Aleh
14.03.2017
12:57:11
а это возможно?)

Дмитрий
14.03.2017
12:57:55
у ts есть плагин resolve-modules? для того чтобы не писать import name from ../../../../name?
Webpack конфиг, ну и вроде ts резолв сам по себе такое обеспечиает (не уверен)

Mike
14.03.2017
12:58:06
у ts есть плагин resolve-modules? для того чтобы не писать import name from ../../../../name?
хз, я спользую ///ref с grunt-ts, он по имени файла догенеривает относительный путь

http://service.crazypanda.ru/v/clip2net/y/b/aTloEA3LsA.png

Google
Mike
14.03.2017
12:58:18
Aleh
14.03.2017
12:58:26
у ts есть плагин resolve-modules? для того чтобы не писать import name from ../../../../name?
нет, такого для транспайла нет, но он умеет понимать относительно заданных root

Mike
14.03.2017
12:58:36
играюсь с уже распаршеный AST и его экспортом назад в ts

Aleh
14.03.2017
12:59:11
NODE_PATH

в общем-то

Сергей
14.03.2017
12:59:22
нет, такого для транспайла нет, но он умеет понимать относительно заданных root
вот в бабеле есть указал ему диру и при компиляции он резолвит файлики и проставляет относительный путь

NODE_PATH
bad-way для библиотеки

Mike
14.03.2017
12:59:44
я всё ещё считаю вопрос модульности не решённым до конца и ///ref рассматриваю как временный костыль

когда-нибудь руки дойдут разобраться глубже

Aleh
14.03.2017
13:00:28
для аппы норм

Google
Сергей
14.03.2017
13:01:06
для аппы норм
ну хз может быть но я пишу либу, поэтому увы и ах

Aleh
14.03.2017
13:01:26
ну тогда можешь после тса бабелем с плагином прогнать

и будет ок

Сергей
14.03.2017
13:02:52
ладно видимо так и придется

тесты вот только как гонять геморненько будет, мне кажется

Aleh
14.03.2017
13:03:21
вроде нет

а что должно быть геморного?

Сергей
14.03.2017
13:08:36
сейчас попробую — узнаю

Aleh
14.03.2017
13:13:13
есть всякие бойлерплейты, https://github.com/Izhaki/Typescript-Mocha-Istanbul-Boilerplate но супер сомнительного качества

Artur
15.03.2017
12:24:35
Ребза, а в TS не завезл еще опцию под нативный async/await?

Aleh
15.03.2017
12:25:34
в смысле?

target?

es2017 вроде есть и есть esnext

Artur
15.03.2017
12:26:26
А, точняк, сейчас попробую

Да, то, что надо.

Но я тут что-то затупил, rest/spread в ноду не заехал до конца что ли? Unexpected token ... /www/xxx.ru/xx.xxx.ru/1c/index.js:75 logger.trace('fetch %s', url.resolve(this.url, encodeURI(uri)), { ...options, headers }, body || {});

Paruyr
15.03.2017
13:01:46
Нет еще

Aleh
15.03.2017
13:24:12
ну объектов

andretshurotshka?❄️кде
15.03.2017
13:27:35
когда уже variadic kinds (

Google
Artur
15.03.2017
13:32:10
В родмэпе на май

А, не, вру опять

Future :) https://github.com/Microsoft/TypeScript/wiki/Roadmap

Kirill
16.03.2017
13:58:17
Привет пацаны. Подскажите, можно ли создать d.ts-файл только с интерфейсами и из него импортить их? Или для этого создают ts-файл? Мне просто нужно общее место для интерфейсов, чтобы их переиспользовать в других частях. Если какое-то соглашение по расположению таких папок с такими файлами?

sanqa
16.03.2017
14:00:01
я обычный ts использую

Friedrich
16.03.2017
14:00:27
Между "файлами с определениями" и "файлами с кодом" есть концептуальная разница в современном тайпскрипте.

Первые обычно называют .d.ts, а вторые — просто .ts, но технически такого требования уже не существует в последних версиях.

Я бы сложил интерфейсы в d.ts, пожалуй. Иначе придётся маяться с импортами-экспортами.

Aleh
16.03.2017
14:05:28
в d.ts я складываю только то, что покрывает существующий js-код, обычно сторонний, все остальное в .ts

т.е. новые .d.ts файлы в проекте практически не создаются

Kirill
16.03.2017
14:06:07
Создал папку src/@types, в ней api.d.ts В tsconfig прописал "typeRoots" : ["node_modules/@types", "src/@types"] Как правильно определить интерфейс, через namespace или module и как тянуть его в коде?

Aleh
16.03.2017
14:07:46
namespace по мне так тоже устаревшее, советую использовать es modules

Aleh
16.03.2017
14:08:09
т.е. import/export

Kirill
16.03.2017
14:08:28
Пишу так

declare module ServerData { export interface DataObject { id: number | string; } }

Как тянуть в коде?

Без импорта ServerData сам подтянится?

Aleh
16.03.2017
14:09:15
не, пиши просто api.ts: export interface DataObject { id: number | string } somefeature.ts: import { DataObject } from "./api";

Kirill
16.03.2017
14:10:54
Ну это первое в голову и пришло сразу, просто думал как по-другому делают.

Aleh
16.03.2017
14:13:53
ну да, и настройки дополнительной не надо никакой)

Google
Ilya
17.03.2017
04:30:59
Есть кто пишет React приложения на TypeScript? Babel тянет привычкой и "ленью" но есть смысл пробовать?

Admin
ERROR: S client not available

Ilya
17.03.2017
05:43:19
Но по сути есть смысл?

Dreamerinnoise
17.03.2017
05:43:29
Смысл в типах?

Ilya
17.03.2017
05:43:30
Кроме типов, кардинально

Kirill
17.03.2017
06:17:50
Если проект с нуля делаете, то зачем лишнее звено в сборке. Зачем бабель, разве тс не все нужные современные фичи поддерживает? Делайте вебпак сборку, а в настройках тс-компилятора ставьте чтобы в нативные модули транспилил и тогда в вебпаке будет работать tree-shaking. Если конечно он ещё в тс не реализован.

Кому интересно, то вот тут экспериментирую над чистой ts-сборкой. Запускать уже можно, но нужно допилить поддержку react-hot-reload и вебпак настройки тоже на ts переписать.

https://github.com/Voronar/react-pure-typescript

И вообще считаю, что нужно вводить системные требования для веб-приложений, чтобы не грузить медленные и огромные, преобразованные в es5, бандлы, а делать масимальную выжимку из того, что сейчас поддерживают современные браузеры (классы, генераторы, асинки и прочее).

Ilya
17.03.2017
06:25:40
Думаю надо бибилотекой для npm, если брать бабель - все равно прийдется конвертить в lib из src, чтобы ее использовать

По сути тоже самое что и ts

Писать сразу в ts, лучше он быстрее развивается и могут потом сделать компилятор в webassembly или asm

Mike
17.03.2017
06:28:13
в вебассембли нет сборки мусора, он для языков с ручным управлением памятью

Ilya
17.03.2017
06:28:37
Ну потом я смогу брать из lib и подклбчать в приложение которое на бабеле например

В дисте уже цельный файл

Lib es6, src - ts

Google
Ilya
17.03.2017
06:33:23
В дист всегда кладут один большой файлик, для браузерного подключения или тп. А для подключения через npm и tree-shaking - lib

Kirill
17.03.2017
08:23:38
Такая проблема. Есть интерфейс с обязательными пропсами компонента. Но я их передаю в него не по отдельности: <Component prop1={prop1} prop2={prop2} /> а с помощью spread props: <Component {...this.props} /> Компилятор ругается: error TS2324: Property 'prop_name' is missing in type...

Как решается?

Я могу сделать в интерфейсе поля через field?: type , но тогда нарушается логика, так как свойства компонента обязательные.

Короче лоханулся я, в том компоненте, где я использую this.props я не продублировал все необходимые пропсы.

Vasiliy
18.03.2017
16:22:32
чуваки, выкачал годные видео материалы по ануляру + тс, надо кому?

Nikolay
18.03.2017
16:22:49
да

trilog
18.03.2017
16:22:49
+

Vlad
18.03.2017
16:42:43
Конечно

Страница 185 из 669