Не може да се намери модул след създаване и добавяне на плъгин в Nativescript

Използвайки най-новата версия на Nativescript, създадох плъгин според документацията и след стартиране на tns plugin add ../nativescript-keychain получавам съобщението Successfully installed plugin nativescript-keychain.

Виждам също, че е добавен към директорията node_modules на приложението ми, но require("nativescript-keychain") не работи, тъй като получавам грешката Cannot find module 'nativescript-keychain'

Моят плъгин package.json изглежда така

{
  "name": "nativescript-keychain",
  "version": "0.0.1",
  "nativescript": {
    "platforms": {
      "ios": "2.2.1"
    }
  }
}

person dottodot    schedule 19.08.2016    source източник


Отговори (1)


Има няколко причини, поради които това може да се случи; би било полезно, ако предоставите репо, за да видите целия код.

  1. package.json няма връзка към източника, обикновено имате ключ main: "somefile".
  2. Направихте ли tns run ios --emulator след като инсталирахте приставката, трябва да създадете отново приложението, преди да влезе в сила, приставките не могат да се синхронизират чрез livesync...
  3. Дали кодът е TypeScript или JavaScript, ако е TypeScript, той трябва да бъде транспилиран в JS, преди да можете да го добавите към вашето демонстрационно приложение. TNS НЯМА да компилира никакъв TS код в добавките. Добавките трябва да се доставят с окончателния JS код.
  4. Имате нужда от въвеждане за TS, за да използвате автоматичното попълване и да не изхвърляте предупреждения за наличните методи.
person Nathanael    schedule 19.08.2016
comment
Добре, това е плъгинът, който създадох. github.com/dottodot/nativescript-keychain и се опитвам да добавя в Angular версия на приложението като import * as keychain from 'nativescript-keychain'; - person dottodot; 20.08.2016
comment
А, мисля, че разбрах защо. Тъй като използвам angular и typescript, моят плъгин се нуждае от въвеждане, за да работи. - person dottodot; 20.08.2016
comment
За TS се нуждаете от въвеждане, за да накарате приставката да работи без никакви предупреждения или грешки. В обикновен JavaScript нямате нужда от въвеждане и приставката ще работи добре. - person Nathanael; 10.03.2017