使用 ionic2、Typescript、RollupJs、es2015 模块的 `lodash-es` 出现 TS 错误

TS Error with `lodash-es` using ionic2, Typescript, RollupJs, es2015 modules

我正在使用 lodash 和新的 ionic2@RC.0 项目模板,其中包括

这对我有用:

npm install lodash --save
npm install @types/lodash --save-dev --save-exact
// typescript
import _ from "lodash";

但显然 lodash-esRollup 一起推荐,因为 tree-shaking 的事情。但是当我这样做时:

npm install lodash-es --save  // instead of `lodash`
npm install @types/lodash --save-dev --save-exact
// typescript
import _ from "lodash-es";

我收到 Typescript 错误

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

但是,转译后的 javascript 实际上可以正常运行。给出了什么?

这是我的 tsconfig

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "declaration": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "es2015"
    ],
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "pretty": true,
    "target": "es5"
  },
  "filesGlob": [
    "**/*.ts",
    "!node_modules/**/*"
  ],
  "exclude": [
    "node_modules"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}

问题是没有人为 lodash-es 创建类型文件,所以 Typescript 编译器无法验证。