@typescript_ru

Страница 342 из 669
Max
05.09.2017
13:13:07
а не

Alex
05.09.2017
13:13:28
есть незатайпленная либа в ней нужно затайпить один класс как это правильно сделать с т. з. структуры файлов? создать некий typings/index.d.ts ?

Max
05.09.2017
13:13:43


вот проблема

Google
Max
05.09.2017
13:13:53
x.attr.hello не работает

вроде решил



а с тайпингами подсказали

export function getProvider<T>(name: string, StateProxy?: new() => T): new() => EnhancedComponent<T>

декомпозиция в класс через new конечно адово выглядит

Дмитрий
05.09.2017
16:25:56
А обязательно тут класс сам типизировать?

Не достаточно будет его интерфейса например? Всё не читал

Max
05.09.2017
16:28:37
какой именно класс?

тут их два )

Дмитрий
05.09.2017
16:30:07
Ну то что тебе в итоге нужно

Max
05.09.2017
16:30:49
в итоге мне нужен React.Component с аттрибутом в виде класса



Google
Max
05.09.2017
16:33:19
я реально убил на это сутки лал

?

Ron
06.09.2017
07:20:16
подскажите как tslint отключить?

я в .ts чистый js хочу вставить, и линтер мне не дает скомпилить

*т.е. вебпак собрать не дает*

Dima
06.09.2017
07:21:14
/* tslint:disable */

Ron
06.09.2017
07:21:54
перед кодом жс?

Dima
06.09.2017
07:22:24
в начале файла

или // tslint:disable-next-line

Ron
06.09.2017
07:23:16
всё-равно ругается



Дмитрий
06.09.2017
07:32:47
Жесть какая

Чувак, у тебя не с линтом проблемы, а с синтаксисом вообще

Айнур
06.09.2017
09:01:13
Ivan
06.09.2017
09:18:42
я вот тоже не пойму что код делает прямо в теле класса

помутнения разума бывают у каждого )

Иван
06.09.2017
09:33:22
Ну это вполне себе может быть не очень аккуратный переход с es5 на typescript при миграции на ангуляр2+

Ivan
06.09.2017
10:40:17
вы в курсе кстати что там "canvas.width" вообще-то number, если мы говорим не о css width

ничего парсинтить не надо

Иван
06.09.2017
11:02:38
Я думаю парня до сих пор интересует вопрос как отключить линтер для этого файла, а не наше мнение о коде в этом файле ?

Google
Иван
06.09.2017
11:04:23
Мне бы конечно проще было бы исправить файл, чтобы линтинг проходил, нежели отключать его совсем... Поэтому я и не знаю как его правильно отключать.

Valery
06.09.2017
11:44:37
Добрый день , подскажите новичку в TS плз пытаюсь подключить amd файл с опцией allowJs в typescript файл import * as locale from './locale.i18n'; Ругается, что это не модуль. Пробовал такую d.ts declare module "*i18n" { const content: Object; export = content; }

не помогает - что можно сделать ?

Иван
06.09.2017
14:06:21
import './locale.i18n'; ?

Или это для вэбпака? ?

Valery
06.09.2017
14:07:26
для вебпака

Иван
06.09.2017
14:07:57
Тогда тем более

Valery
06.09.2017
14:08:39
эм, так а как значение использовать с таким импортом ? о0

Иван
06.09.2017
14:09:53
А, там объект? Я думал просто код...

а там define внутри есть?

Valery
06.09.2017
14:15:36
да

там define({})

Иван
06.09.2017
14:18:19
ну методом исключения остаётся import locale from './locale.i18n';

Valery
06.09.2017
14:18:41
ну, я такое пробовал, он все равно ругается =)

все работает, но ошибка TS

для него amd это не модуль

Иван
06.09.2017
14:21:20
TS??? а где он у тебя ругается, если в ide-шечке, то пофигу... а что в tsconfig.json в поле "modules"?

Valery
06.09.2017
14:21:43
компилятор ругается, везде

Aleh
06.09.2017
14:22:23
телепаты в отпуске, сорян

Valery
06.09.2017
14:22:56
причем тут телепаты, я из описания еще что-то могу добавить?

Google
Aleh
06.09.2017
14:23:02
да, ошибку

Иван
06.09.2017
14:24:22
компилятор ругается, везде
всмысле везде?.. тогда простите что "всё работает"??? ну вот теперь и я уже запутался...

Valery
06.09.2017
14:25:36
TS2306: File 'C:/dev/ccm_portal/ccm/locale.i18n.js' is not a module.

то, что получается после компиляции в итоге работает

но результат с ошибками от компилятора меня не устраивает, нужно, чтобы ошибок не было

Aleh
06.09.2017
14:26:47
самый топорный вариант - положить рядом locale.i18n.d.ts

в котором описать нужные экспорты

Valery
06.09.2017
14:27:30
я выше писал пример d.ts - почему он не сработал?

вроде в доке wildcard описаны

Valery
06.09.2017
14:30:23
вопрос по d.ts - я его создал в левой папке с левым именем, но добавил папку как typeRoot

по идее же должно работать?

Aleh
06.09.2017
14:30:33
нет

andretshurotshka?❄️кде
06.09.2017
14:30:48
лол

Valery
06.09.2017
14:31:04
он только 1 к 1 по имени цепляет ?

Aleh
06.09.2017
14:31:16
нет

Valery
06.09.2017
14:31:29
а что не так ?

Aleh
06.09.2017
14:31:30
ща думаю с чего бы начать

во-первых тебе надо сделать описание модуля, который получается относительным путем “./locale.js”

Google
Aleh
06.09.2017
14:33:05
поэтому тебе надо либо подсовывать рядом файл с таким же именем, либо описывать через declare module в каком-то глобальным дефинишине

и отсюда следует во-вторых: ты либо делаешь declare module в глобальном дефинишине, либо кидаешь файл с нужным именем без declare module

Valery
06.09.2017
14:34:09
у меня этих файлов с одинаковыми именами много, везде путь относительный. Я могу один раз это определить в глобальном дефинишине ?

Aleh
06.09.2017
14:34:29
для такой ерунды у меня в src есть файлик declarations.d.ts или чето такое, в котором эти двустрочные модули записаны

andretshurotshka?❄️кде
06.09.2017
14:34:42
жесть

Ща бы типы описывать(

Valery
06.09.2017
14:35:59
ясно, спасибо большое за подробное объяснение

сейчас попробу.

declare module "./locale.i18n.js" { const content: Object; export = content; } если делать так, то выдает TS2436: Ambient module declaration cannot specify relative module name

если использовать то, что выше, то старая ошибка

Aleh
06.09.2017
14:48:36
начни с простого locale.i18n.d.ts около, оно хоть работает?

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