小编jvi*_*r83的帖子

由typescript生成的定义文件(.d.ts)不与package.json类型一起使用

我使用tsc编译器中的--declaration参数从我的typescript项目创建了一个定义文件(d.ts).

但是,当我尝试与物业发布该数据包这个生成定义文件显然是不行的分型,在故宫的package.json.我创建了另一个项目来测试它.

它抱怨消息:" 导出的外部包文件打包文件'... d.ts'不是模块.请联系包作者以更新包定义 ".

这是我的源文件:

MyInterface.ts

export interface MyInterface
{
    MyProperty: string;
}
Run Code Online (Sandbox Code Playgroud)

MyClass.ts

import {MyInterface} from './MyInterface';

export class MyClass implements MyInterface
{
    get MyProperty(): string
    {
        return "MyString";
    }
}
Run Code Online (Sandbox Code Playgroud)

MyInheritedClass.ts

import {MyClass} from './MyClass';

export class MyInheritedClass extends MyClass
{
    public MyMethod(): number
    {
        return 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

tsc命令是这样的:

tsc MyClass.ts MyInterface.ts MyInheritedClass.ts --declaration -t es5 -outFile "mydefinition.js" --module "system"
Run Code Online (Sandbox Code Playgroud)

这是生成的定义:

mydefinition.d.ts

declare module "MyInterface" {
    export interface MyInterface {
        MyProperty: …
Run Code Online (Sandbox Code Playgroud)

node.js typescript

9
推荐指数
1
解决办法
2273
查看次数

Java在投影前后在不同模型上使用过滤

考虑以下用于hibernate 的JAVA 模型:

@Entity
@Table
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Long id;

    @Column
    public String firstName;

    @Column
    public String lastName;

    @Column
    public Boolean active;
}
Run Code Online (Sandbox Code Playgroud)

以及以下 API 序列化模型(使用spring boot rest 控制器):

public class PersonVO {
    public Long id;
    public String fullName;
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

  • 对 Person 应用一些过滤(静态定义)
  • 在 PersonVO 应用一些过滤(从@RequestParam 获取)

C# .NET 中,我可以像这样:

IQueryable<Person> personsQuery = entityFrameworkDbContext.Persons;
// FIRST POINT - Here i could make some predefined filtering like 'only active', …
Run Code Online (Sandbox Code Playgroud)

java hibernate projection querydsl java-stream

9
推荐指数
2
解决办法
369
查看次数