/ Nie znaleziono modułu trudnego typu TypeScript - maszynopis, import, ionic2, typescript2.0

Nie znaleziono błędnego modułu TypeScript - maszynopis, import, ionic2, typescript2.0

Używam ionic 1 i pomyślałem, że dobrym pomysłem byłoby przejście na TypeScript. Potem oczywiście chcę skorzystać z ionic-native funkcje.

  • Starałem się: import {Calendar} from "ionic-native";
  • ale mam: [ts] Cannot find module "ionic-native".

Więc poszedłem do czytania dokumentów Jak TypeScript rozwiązuje moduły. Dokumenty mówią, że próbuje zlokalizować moduł w następujących ścieżkach:

1. /root/node_modules/moduleB.ts
2. /root/node_modules/moduleB.tsx
3. /root/node_modules/moduleB.d.ts
4. /root/node_modules/moduleB/package.json (if it specifies a "typings" property)
5. /root/node_modules/moduleB/index.ts
6. /root/node_modules/moduleB/index.tsx
7. /root/node_modules/moduleB/index.d.ts

Więc zajrzałem do moich folderów węzła i sprawdziłem, czy jedna ścieżka pasuje:

node_modules
- ionic-native
-- dist
-- package.json

Myślę, że numer 4. powinien się zgadzać, ponieważ plik package.json zawiera:

"typings": "dist/es5/index.d.ts

Ale to nie działa.

Jeśli zamiast tego:

import {Calendar} from "../../../node_modules/ionic-native/dist/es5/index";

działa, ale nie chcę tego robić we wszystkich plikach, to zbyt skomplikowane: /


Ponieważ chciałem iść naprzód, szukałem innego sposobu w dokumentach TypeScript. Mogłem również przeczytać, że możesz umieścić paths property for modules w tsconfig.json

Ale zabawna część tego jest, jeśli umieściłem poprawne json to, to nie działa:

"paths": {
"ionic-native": ["node_modules/ionic-native/dist/es5/index.d.ts"]
}

Kiedy umieszczam w nim nieprawidłowy json, działa (zauważ brakujące) "):

"paths": {
ionic-native: ["node_modules/ionic-native/dist/es5/index.d.ts"]
}

Jakieś pomysły?

Odpowiedzi:

2 dla odpowiedzi № 1

Poszedłem za tutorialem TS i właśnie skopiowałem tsconfig.json, ale są różne rodzaje modułów i miałem

"module": "system",

po prostu go zastąpiłem

"module": "commonjs",

i krzyczy, od razu wszystko działa, jakbym kiedykolwiek chciał.