Импорт lodash в текстовое приложение angular2 +

Я с трудом пытаюсь импортировать модули lodash. Я настроил свой проект, используя npm + gulp, и продолжаю бить в одну и ту же стену. Я пробовал обычный lodash, но также и lodash-es.

Пакет lodash npm: (в корневом каталоге пакета есть файл index.js)

import * as _ from 'lodash';    

Результаты в:

error TS2307: Cannot find module 'lodash'.

Пакет lodash-es npm: (имеет экспорт по умолчанию в lodash.js в корневой папке пакета)

import * as _ from 'lodash-es/lodash';

Результаты в:

error TS2307: Cannot find module 'lodash-es'.   

Задача gulp и webstorm сообщают об одной и той же проблеме.

Забавный факт, это не возвращает ошибку:

import 'lodash-es/lodash';

... но, конечно, нет "_" ...

Мой файл tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules"
  ]
}

Мой gulpfile.js:

var gulp = require('gulp'),
    ts = require('gulp-typescript'),
    uglify = require('gulp-uglify'),
    sourcemaps = require('gulp-sourcemaps'),
    tsPath = 'app/**/*.ts';

gulp.task('ts', function () {
    var tscConfig = require('./tsconfig.json');

    gulp.src([tsPath])
        .pipe(sourcemaps.init())
        .pipe(ts(tscConfig.compilerOptions))
        .pipe(sourcemaps.write('./../js'));
});

gulp.task('watch', function() {
    gulp.watch([tsPath], ['ts']);
});

gulp.task('default', ['ts', 'watch']);

Если я правильно понимаю, то moduleResolution: 'node' в моем tsconfig должен указывать операторы импорта на папку node_modules, где установлены lodash и lodash-es. Я также пробовал много разных способов импорта: абсолютные пути, относительные пути, но, похоже, ничего не работает. Есть идеи?

При необходимости я могу предоставить небольшой zip-файл для иллюстрации проблемы.

Ответы на вопрос(22)

Ваш ответ на вопрос