Я начал проект, чтобы понять, как внешние загружаемые типы работают с программированием на машинописных языках. Поэтому я начал с файла ts, который импортирует JsSHA, а следующий - это код, который я использую для проверки работы этой библиотеки.TypScript Intellisense не работает даже в VS-коде даже после добавления файлов определения типов
import * as jsSHA from "jssha";
class sha{
shaObj: any;
hash : string;
constructor(){
this.shaObj = new jsSHA("SHA-512","TEXT");
this.shaObj.update("This is a test object");
this.hash = this.shaObj.getHash("HEX");
}
}
var s:sha = new sha();
console.log(s.hash);
В дополнение к добавлению JsSha.js через НПМ Я также добавил тип определения (.d.ts) этой библиотеки на основе того, что сказано here. Несмотря на все это, я до сих пор не получаю никакого intellisense, связанного с объектом JsSha или методом конструктора этой библиотеки. Я что-то упустил здесь, что должен сделать, чтобы все получилось.
PS: Я перезапустил код VS, на всякий случай, чтобы избежать каких-либо проблем из-за кэширования. Также обновлены все существующие пакеты с любыми обновлениями.
Я использую TS в 2.1.6, здесь моя зависимость и devdependencies из моего файла package.json:
"dependencies": {
"jssha": "^2.2.0",
"retyped-jssha-tsd-ambient": "0.0.0-0",
"typescript": "^2.1.6",
"typings": "^2.1.0"
},
"devDependencies": {
"retyped-jssha-tsd-ambient": "0.0.0-0"
}
Вы пробовали "типизации установить дт ~ jssha"? –
У вас есть объявления, установленные дважды в package.json, что, безусловно, является потенциальной проблемой. Кроме того, по-видимому, вы используете типизацию, если вы также установили пакет с типизиями, которые могут конфликтовать с версиями, установленными в npm. Файл package.json в репо не имеет никакого свойства '' main ''entry entry или свойства' 'typings' '. Отсутствие этих свойств в сочетании с тем, что репозиторий не назван в честь модуля и что файл декларации не назван «индексом», скорее всего, предотвратит его автоматическое обнаружение с помощью TypeScript –
. Я добавлю к объявлению сам файл очень старый и не соответствует современным методам (он безоговорочно загрязняет глобальное пространство имен). Любая причина не просто запускать npm install --save @ types/jssha'? –