从模块导入 "private" TypeScript 声明但未公开它 package.json
Importing "private" TypeScript declaration from module not exposing it though package.json
当导入一个 npm 模块的组件时,它的 package.json 没有像这样公开
import {Toolbar} from "@atlaskit/editor-core/dist/esm/ui/Toolbar";
tsc / webpack 找不到正确的声明文件。
来源和类型位于:
node_modules/@atlaskit/editor-core/dist/esm/ui/Toolbar/Toolbar.js
node_modules/@atlaskit/editor-core/dist/types/ui/Toolbar/Toolbar.d.ts
如何正确link声明和防止
TS7016: Could not find a declaration file for module '@atlaskit/editor-core/dist/esm/ui/Toolbar'. '.../node_modules/@atlaskit/editor-core/dist/esm/ui/Toolbar/index.js' implicitly has an 'any' type.
因为包有声明文件,连接深度导入以使用其类型相当容易。
将 typings.d.ts
声明文件添加到您的项目以添加环境模块声明:
// assert that an import module of this path HAS types
declare module '@atlaskit/editor-core/dist/esm/ui/Toolbar' {
// assert that this module contains all exports of the existing declaration file
export * from '@atlaskit/editor-core/dist/types/ui/Toolbar';
}
当导入一个 npm 模块的组件时,它的 package.json 没有像这样公开
import {Toolbar} from "@atlaskit/editor-core/dist/esm/ui/Toolbar";
tsc / webpack 找不到正确的声明文件。
来源和类型位于:
node_modules/@atlaskit/editor-core/dist/esm/ui/Toolbar/Toolbar.js
node_modules/@atlaskit/editor-core/dist/types/ui/Toolbar/Toolbar.d.ts
如何正确link声明和防止
TS7016: Could not find a declaration file for module '@atlaskit/editor-core/dist/esm/ui/Toolbar'. '.../node_modules/@atlaskit/editor-core/dist/esm/ui/Toolbar/index.js' implicitly has an 'any' type.
因为包有声明文件,连接深度导入以使用其类型相当容易。
将 typings.d.ts
声明文件添加到您的项目以添加环境模块声明:
// assert that an import module of this path HAS types
declare module '@atlaskit/editor-core/dist/esm/ui/Toolbar' {
// assert that this module contains all exports of the existing declaration file
export * from '@atlaskit/editor-core/dist/types/ui/Toolbar';
}