@typescript_ru

Страница 556 из 669
Saphire
26.03.2018
09:43:46
Упс х.х

Oleg
26.03.2018
10:25:54
Пока не решил что юзать, я тупо копирую TS файлы в другие проекты, спасайте от идеотизма
Тебе надо в npm публиковать js бандл, который сборщик соберёт, и тайпинги, которые ts создаст

Roman
26.03.2018
10:26:32
Кто хорош в алгоритмах, как правильно реализовать составной индекс, как в mysql? Допустим, по 2 или 3 Int

Oleg
26.03.2018
10:27:01
1) typescript компилятор: a.ts b.ts => a.js a.d.ts b.js b.d.ts

Google
Алексей
26.03.2018
10:27:06
Но а если я хочу использовать классы TS

Oleg
26.03.2018
10:27:25
2) webpack: a.js b.js => myLib.js

Алексей
26.03.2018
10:27:28
подключать их в прожекте

2) webpack: a.js b.js => myLib.js
это я понимаю

Oleg
26.03.2018
10:27:42
Для этого и нужны декларации

Алексей
26.03.2018
10:27:57
немогу бля сообразить

Oleg
26.03.2018
10:27:59
Что бы не было конфликта версий тайпскрипта

Алексей
26.03.2018
10:29:04
Какойто гемор, тобишь я написал TS, упаковал в модульный ЖС. далее в другом проекте зареквайрил, и снова писать d.ts файлы?

Oleg
26.03.2018
10:29:08
немогу бля сообразить
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html

d.ts тайпскрипт делает

Алексей
26.03.2018
10:30:04
У меня lib.js делает + сурсмапы

ну это без webpack

Google
Алексей
26.03.2018
10:30:14
и гулпов

Oleg
26.03.2018
10:30:23
Так да

Алексей
26.03.2018
10:30:23
онли tsc

Oleg
26.03.2018
10:30:30
Это во временную директорию

А вебпак из нее собирает и копирует в dist

Oleg
26.03.2018
10:33:47
Какойто гемор, тобишь я написал TS, упаковал в модульный ЖС. далее в другом проекте зареквайрил, и снова писать d.ts файлы?
Это действительно гемор, я смотрел как в formik сделано (на тс написана либа), и в паре статец

Roman
26.03.2018
10:33:55
заюзать хешмапу/дерево?)
Для индекса по одному полю - это понятно. А для 2, или 3 индексов?

Дмитрий
26.03.2018
10:34:00
Составные ключи это ппц всегда

Roman
26.03.2018
10:35:09
конкатенация
Тогда их нужно переводить в string, не слишком ли жирно будет, иметь такие длинные ключи? С Int никак нельзя сделать?

Да и работа со string агми не самая быстрая, куча мусора будет в памяти, на большом количестве данных ещё и памяти сожрёт хз сколько

Denis
26.03.2018
10:36:11
Тогда их нужно переводить в string, не слишком ли жирно будет, иметь такие длинные ключи? С Int никак нельзя сделать?
не жирно. можешь и с инт - как реализуешь) я хз если ли в ts b-tree и что в качестве ключей можно передать

Roman
26.03.2018
10:36:50
Постоянная конкатенация стригнов - так себе идея..

Слишком накладно, мне кажется

Denis
26.03.2018
10:37:37
заюзай инты) тоже не сильно сложно

Denis
26.03.2018
10:39:13
Слишком накладно, мне кажется
но с другой стороны, субд не сильно парятся по этому поводу

Roman
26.03.2018
10:39:59
Надо подумать

Sultan
26.03.2018
10:42:10
есть ли смысл использовать Webpack для TypeScript проекта?

Google
Sultan
26.03.2018
10:42:24
по сути, TS может ведь сам собирать всё в один большой бандл

Алексей
26.03.2018
10:44:20
+

Artem
26.03.2018
10:46:48
а css

code splitting

Aleh
26.03.2018
10:47:09
по сути, TS может ведь сам собирать всё в один большой бандл
все не может, может только сконкатенировать все файлы, которые транспайлятся, в один

если этого хватает, то тогда нет смысла

Sultan
26.03.2018
10:51:23
то есть, если нужно собрать .ts и .js код воедино - то достаточно tsc если необходимо добавлять в бандл html, css, картинки и пр. - то здесь уже нужен webpack правильно я понимаю?

Oleg
26.03.2018
10:52:32
как?
Что именно как?

Aleh
26.03.2018
10:53:17
у него есть буквально две опции - из файликов .ts сделать .js для каждого или из файликов .ts сделать один .js

Le
26.03.2018
10:53:36
Что именно как?
ну чем проект этого формика отличим от остальных

Oleg
26.03.2018
10:56:24
ну чем проект этого формика отличим от остальных
Просто пример публичной либы, написанной на тс

Sultan
26.03.2018
10:58:55
мне ещё интересен вот такой момент: есть либа, написанная на js (если конкретно то Phaser 2), к ней есть отдельный файл с определениями .d.ts файл, я пишу на TypeScript'е если глянуть в исходники либы, то они не используют никакую модульную систему, то есть ни module.exports, ни чего подобного нет. как TypeScript компилятор в данном случае все это соединяет?

и нужен ли здесь Webpack?

Oleg
26.03.2018
10:59:03
И надо на гитхабе смотреть исходники, и то что в node_modules подтянется, что бы полная картина была

Google
Le
26.03.2018
11:00:22
или я вопрос не понель

Sultan
26.03.2018
11:02:32
вот есть класс в либе, например Game, в конце файла с этим классом нет строчки кода с: module.exports = Game при этом на тайпскрипте я могу писать import Game from Phaser или что-то вроде того

Le
26.03.2018
11:03:01
если Game описан в .d.ts то можешь

Sultan
26.03.2018
11:03:37
то есть .d.ts помимо типов определяет ещё и модули и то, что экспортится?

Le
26.03.2018
11:04:06
дублирует, так сказать

тс вообще не будет трогать js файлы в фейзере

он просто посмотрит на типы и всё

трогать жс файлы это уже задача ноды и всяких вебпаков

Sultan
26.03.2018
11:07:17
вроде понятно, спасибо)

Алексей
26.03.2018
11:18:24
подскажите как указать в tsconfig то куда генерировать d.ts

Если так можно

Le
26.03.2018
11:20:30
лучше не надо

но можно

declarationDir или типа того, начни набирать, там подсказка будет

Alex
26.03.2018
11:28:11


Sultan
26.03.2018
11:32:29
вся эта история с .d.ts мне немного напоминает заголовочные файлы в плюсах

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

Алексей
26.03.2018
12:56:41
всем привет. я правильно понимаю, что если указать в tsconfig, в секции files главный файл приложения, то по импортам из него в результирующий js будут включены остальные?

Sultan
26.03.2018
13:11:07
а кто-нибудь знает, что делает на самом деле это: /// <reference path="./node_modules/phaser-ce/typescript/phaser.comments.d.ts"/>

Google
Sultan
26.03.2018
13:11:38
копирует содержимое файла?

Алексей
26.03.2018
13:12:36
недавно где-то читал, что да, так оно и будет
почему же тогда игнорируются *.d.ts из каталога проекта? даже при использовании typeRoots

Sultan
26.03.2018
13:13:26
а *.d.ts в конечный js разве должен вставляться?

Алексей
26.03.2018
13:13:46
нет, я имею в виду - в vscode все определения из этих файлов подчёркиваются красным

exclude нет

Sergey
26.03.2018
13:14:21
в vsc?

Алексей
26.03.2018
13:14:24
да

Sergey
26.03.2018
13:14:35
хм

скинь tsconfig

лол так у тебя typeRoots закоменчен

Алексей
26.03.2018
13:18:09
если его использовать - то же самое

Sergey
26.03.2018
13:18:46
а tsc —noEmit че говорит?

(без него то не будет все равно резолвить твои d.ts)

Алексей
26.03.2018
13:21:54
src/main.ts(9,35): error TS2304: Cannot find name 'IMyInterface'.

вот эту вот штуку и подчёркивает vscode

Vlad
26.03.2018
14:01:44
Всем привет, никто react с typescript не использует ?, не подскажите, что может быть, собирал по гайду с тайпскрипта, но при сборке зависает на [at-loader] Using typescript@2.7.2 from typescript and "tsconfig.json" from C:\project\tsconfig.json. webpack 4, awesome-typescript-loader

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