Open huixisheng opened 5 years ago
在使用第三方库qiniu包的时候出现如下报错:
qiniu
src/core.ts:1:8 - error TS1192: Module '"...packages/core/node_modules/qiniu/index"' has no default export. 1 import qiniu from 'qiniu';
解决:
import * as qiniu from 'qiniu'; // import qiniu = require('qiniu');
肯定是文档的语法看的不够仔细,关于这方面的内容做个简单的记录。
TypeScript Types Search
$ npm install typings -g $ typings search --name 库准确名称
@types
typeRoots
types
默认所有可见的"@types"包会在编译过程中被包含进来。 node_modules/@types文件夹下以及它们子文件夹下的所有包都是可见的; 也就是说, ./node_modules/@types/,../node_modules/@types/和../../node_modules/@types/等等。 如果指定了typeRoots,只有typeRoots下面的包才会被包含进来。 如果指定了types,只有被列出来的包才会被包含进来 指定"types": []来禁用自动引入@types包。
默认所有可见的"@types"包会在编译过程中被包含进来。 node_modules/@types文件夹下以及它们子文件夹下的所有包都是可见的; 也就是说, ./node_modules/@types/,../node_modules/@types/和../../node_modules/@types/等等。
node_modules/@types
如果指定了typeRoots,只有typeRoots下面的包才会被包含进来。
如果指定了types,只有被列出来的包才会被包含进来
指定"types": []来禁用自动引入@types包。
"types": []
tsconfig.json · TypeScript中文网 · TypeScript——JavaScript的超集
UMD模块是指那些既可以作为模块使用(通过导入)又可以作为全局(在没有模块加载器的环境里)使用的模块。 许多流行的库,比如 Moment.js,就是这样的形式。 比如,在Node.js或RequireJS里,你可以这样写:
import moment = require("moment"); console.log(moment.format());
从一个模块或UMD库 如果你的模块或UMD库依赖于一个UMD库,使用import语句: import * as someLib from 'someLib'; 不要使用/// <reference指令去声明UMD库的依赖!
package.json指定主声明文件main。 设置 types
package.json
main
注意"typings"与"types"具有相同的意义,也可以使用它。 不要在声明文件里使用/// 在发布声明文件包之后,确保在DefinitelyTyped外部包列表里面添加一条引用
注意"typings"与"types"具有相同的意义,也可以使用它。
不要在声明文件里使用///
在发布声明文件包之后,确保在DefinitelyTyped外部包列表里面添加一条引用
发布到@types 提pr, 相关说明
声明文件 · TypeScript 入门教程 TypeScript 中的声明文件 | 如今仍是遥远的理想之城 JS如何捆绑TypeScript声明文件 - pwc1996的博客 - CSDN博客
模块 · TypeScript中文网 · TypeScript——JavaScript的超集
在使用第三方库
qiniu
包的时候出现如下报错:解决:
肯定是文档的语法看的不够仔细,关于这方面的内容做个简单的记录。
TypeScript Types Search
@types
,typeRoots
和types
tsconfig.json · TypeScript中文网 · TypeScript——JavaScript的超集
UMD
包含声明文件到你的npm包
package.json
指定主声明文件main
。 设置types
发布到@types 提pr, 相关说明
参考
声明文件 · TypeScript 入门教程 TypeScript 中的声明文件 | 如今仍是遥远的理想之城 JS如何捆绑TypeScript声明文件 - pwc1996的博客 - CSDN博客