javascript - Typescript uvoz node_modules s ECMAscript 6 sintaksom
Instalirao sam biblioteku lodash iz npm-a i sada je želim uvesti u svoj fajl ovako:
import _ from 'lodash';
Ali dobivam ovu pogrešku:
Pogreška TS1192: Modul '"lodash"' nema zadani izvoz.
Zašto dobivam ovu pogrešku? I kako mogu uvesti node_modules koje nisu .ts datoteke s novom sintaksom uvoza ECMAscript6?
Odgovor #1
Sljedeća dva pristupa funkcioniraju za mene:
Korištenje require:
/**
* Install package via
* $ bower install lodash --save
* Run:
* $ node test.js # after TypeScript compilation
*/
// test.ts file
/// <reference path="typings/lodash/lodash.d.ts" />
import _ = require('./bower_components/lodash/lodash.js');
console.log(_.chunk(['a', 'b', 'c', 'd'], 2));
ES6 import:
/**
* Install package via
* $ tsd install lodash --save # to download definition file
* $ npm install lodash --save
*
* Run:
* $ node test.js # after TypeScript compilation
*/
// test.ts file
/// <reference path="typings/lodash/lodash.d.ts" />
import * as _ from 'lodash';
console.log(_.chunk(['a', 'b', 'c', 'd'], 2));
// → [['a', 'b'], ['c', 'd']]
Napomena: Mapiranja putanja za rješenje modula planirana su za TypeScript 1.8 (https://github.com/Microsoft/TypeScript/issues/5039)
