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

时间:2016-09-30 06:39:03

标签: javascript typescript ecmascript-6 ionic2 rollupjs

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

  • 打字稿
  • 汇总
  • es2015 modules

这对我有用:

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

但显然lodash-es被推荐Rollup,因为树木发抖。但是当我这样做时:

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
  }
}

1 个答案:

答案 0 :(得分:2)

问题是没有人为lodash-es创建一个打字文件,因此Typescript编译器无法验证。