在 Typescript 中使用 CommonJS 模块中的 class
Use class from CommonJS module in Typescript
我有一个 npm 包,其中的文件与此类似:
'use strict'
module.exports = class TModel {
constructor (app) {
this.app = app
}
static schema () {
}
}
我想像这样在 Typescript 文件中使用:
import Model from 't-model';
export class Book extends Model {
static schema() : any {
return {
title: {
type: 'string'
}
}
}
}
但这不起作用。 PHPStorm 给出错误:
Cannot resolve file
使用 tsc 编译时出现错误:
error TS2307: Cannot find module 't-model'
如果使用 't-model/index'
而不是 't-model'
PHPStorm 停止给我一个错误,但 tsc 仍然给出同样的错误。
我正在尝试统一我为后端 API 和使用 Typescript 的前端制作的包。有办法吗?
have an npm package with a file similar to this:
如果这个文件是打字稿
而不是:
module.exports = class TModel {
执行 export class TModel
并让 TypeScript 生成 module.exports
(使用 module: commonjs
编译)。这样 TypeScript 就可以理解 exports
更多相关信息:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
如果文件是javascript
您需要声明它:
declare module 't-model' {
class TModel // .....
export = TModel;
}
更多相关信息:https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html
我有一个 npm 包,其中的文件与此类似:
'use strict'
module.exports = class TModel {
constructor (app) {
this.app = app
}
static schema () {
}
}
我想像这样在 Typescript 文件中使用:
import Model from 't-model';
export class Book extends Model {
static schema() : any {
return {
title: {
type: 'string'
}
}
}
}
但这不起作用。 PHPStorm 给出错误:
Cannot resolve file
使用 tsc 编译时出现错误:
error TS2307: Cannot find module 't-model'
如果使用 't-model/index'
而不是 't-model'
PHPStorm 停止给我一个错误,但 tsc 仍然给出同样的错误。
我正在尝试统一我为后端 API 和使用 Typescript 的前端制作的包。有办法吗?
have an npm package with a file similar to this:
如果这个文件是打字稿
而不是:
module.exports = class TModel {
执行 export class TModel
并让 TypeScript 生成 module.exports
(使用 module: commonjs
编译)。这样 TypeScript 就可以理解 exports
更多相关信息:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
如果文件是javascript
您需要声明它:
declare module 't-model' {
class TModel // .....
export = TModel;
}
更多相关信息:https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html