Я пытаюсь заставить D3 работать в powerBI, чтобы я мог создавать собственные визуальные эффекты. Я пришел к нему с конца D3, и я не знаком с машинописным, powerBI или даже терминальным приложением (am на mac).Typcript, D3 и powerBI: Как мне получить машинописный шрифт, чтобы поговорить с D3 v4?
У меня есть D3 V3, используя это: https://github.com/Svjard/d3-typescript. Я поместил файл d3.d.ts в папку .tmp/precompile/src и ссылался на файл из visual.ts. Первоначально я включил data.ts и tsconfig.json, но я нашел, что они не нужны.
Но я бы хотел использовать D3 V4. Есть обработчик для D3 V4, благодаря определенному типу: https://github.com/tomwanzek/d3-v4-definitelytyped. Я запустил npm install @types/d3-selection --save
и взял файл index.d.ts, поместив его в папку .tmp/precompile/src и повторно ссылаясь на visual.js, но без радости. Я переименовал его в d3.d.ts в случае, если это помогло: нет. Я использовал definitTyped package.json вместо генерируемого powerBI, но это тоже не помогло (и я подозреваю, что неправильно понял, для чего этот файл!).
Я получаю сообщение об ошибке из терминала приложения:
Код выглядит совсем по-другому. Это надрез файла (v3), которая работает:
interface ID3Selectors {
select: (selector: string) => ID3Selection;
selectAll: (selector: string) => ID3Selection;
}
interface ID3Base extends ID3Selectors {
А вот надрез другого файла, который не работает:
export type BaseType = Element | EnterElement | Window;
/**
* A helper interface which covers arguments like NodeListOf<T> or HTMLCollectionOf<T>
* argument types
*/
export interface ArrayLike<T> {
length: number;
item(index: number): T;
[index: number]: T;
}
Кто-нибудь знает, как я получаю машинопись говорить до D3 V4?
благодаря ...
Эмма
EDIT 31 октября 2016 Спасибо за ответы. Когда я запустил tsc -v
в CLI, он сказал 2.0.6.
Я улучшил свою ситуацию, но не добрался до V4. В случае использования, это то, что я сделал и что сработало. Там, казалось, три предложенные методы:
(1) Следуя инструкциям здесь не работает для меня: https://github.com/Microsoft/PowerBI-visuals/blob/master/Tutorial/ExternalLibraries.md
инструкции (2) После здесь сделали работу: https://github.com/Microsoft/PowerBI-visuals/blob/master/Tutorial/Typings.md
Это был связан с использованием CLI и НПМ для установки типоразмеров. Затем добавьте пиктограммы в папку проекта, снова с инструкциями из вышеприведенной ссылки Typings.md. Это создало папку под названием «typings». Я обновил tsconfig для загрузки index.d.ts. Я удалил ссылку на d3.d.ts из visuals.js.
Улучшение значимо. Этот index.d.ts является версией 3, как последний файл, который я использовал, d3.d.ts. Однако, в отличие от последней ссылки, она, похоже, поддерживает события кликов и, возможно, другие вещи, которые мне еще предстоит обнаружить.
(3) Я следовал инструкциям Tom W (для чего спасибо), и теперь у вас есть папка выбора d3, а также папка выбора @types d3. Однако я не мог заставить команду import работать в моем файле visuals.ts. Я пробовал в разных местах, внутри и снаружи функций. Я также скопировал папку выбора d3 из node_modules (не уверен, что я должен был!).
EDIT 1 ноября 2016 года Еще раз спасибо за помощь. Но я больше не вперед. Одним из моих ключевых недоразумений является то, что необходимы как внешние/d3.v4.js, так и установка npm. Неужели это одно или другое?
метод (1) Внешний/d3.v4.js @Jan - у вас есть D3 v4 работает в энергетике BI? Если да, то какой именно код npm вы запускали и что еще вы делали? Мой тестовый код выглядит так (var x = d3.scaleLinear();) - если вы с успехом можете скомпилировать этот код, скажите, как вы это сделали!
Я включил d3.v4.js в папку с именем внешней и ссылки его в tsconfig.json. Это кажется правильным. Но компиляция Power BI в терминале терпит неудачу, с сообщением об ошибке: Не удается найти имя «d3». Есть ли other command needed?
(2) Смешивание в приближении npm @Tom, спасибо и я выполнили ваши инструкции. Вот мои node_modules:
Смутно npm install @types/d3 --save-dev
создал новую папку node_modules в существующем. Как только вы установили с npm, скопируйте или переместите папку (например, в корневой проект power bi)? Я не вижу, как Power BI может найти эти файлы.
Я положил d3.v4.js файл на внешние/и ссылки его с опорной линией и типы атрибутов устанавливается на d3. Компилятор сказал: «Недействительная ссылочная директива». Я изменил типы на путь и попытался установить путь к external/d3.v4.js, но powerBI кажется жестко закодированным для просмотра в папке .tmp/precompile.
У меня есть файл d3, загруженный, правда, удалив ссылку ссылки и вместо этого используйте tsconfig.json от powerBI. Но я вернулся туда, где был. Файл загружается, но d3 не является распознанным именем.
Звучит так, как если бы я подождал, пока Microsoft выполнит свою задачу, я смогу использовать метод типирования, чтобы добраться до V4. Но это так раздражает. Документация Microsoft говорит, что я могу использовать предварительно загруженную d3 или загружать собственную копию d3 без каких-либо npm. Мне не хватает команды, чтобы распознать пространство имен d3!
Это кажется бессмысленным, если ваша цель - опубликовать на powerbi.com. –
Какая часть вас поражает? Чтобы создать пользовательский визуал, мне нужно использовать D3, и я предпочел бы использовать V4, чем V3. – emma
Как вы планируете его публиковать? Предположим, что это для powerbi.com, поэтому вам, вероятно, придется соблюдать то, что они поддерживают. –