使用 ionic2、Typescript、RollupJs、es2015 模块的 `lodash-es` 出现 TS 错误
TS Error with `lodash-es` using ionic2, Typescript, RollupJs, es2015 modules
我正在使用 lodash
和新的 ionic2@RC.0
项目模板,其中包括
- 打字稿
- 汇总
- es2015 模块
这对我有用:
npm install lodash --save
npm install @types/lodash --save-dev --save-exact
// typescript
import _ from "lodash";
但显然 lodash-es
与 Rollup
一起推荐,因为 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 编译器无法验证。
我正在使用 lodash
和新的 ionic2@RC.0
项目模板,其中包括
- 打字稿
- 汇总
- es2015 模块
这对我有用:
npm install lodash --save
npm install @types/lodash --save-dev --save-exact
// typescript
import _ from "lodash";
但显然 lodash-es
与 Rollup
一起推荐,因为 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 编译器无法验证。