小编Ole*_*Ole的帖子

TS2307:找不到模块“类验证器”

我正在尝试在打字稿项目中使用类验证器模块。但是,当我编译打字稿时会发出以下警告:

src/main/ts/domain/Order.ts(1,48): error TS2307: Cannot find module 'class-validator'.
Run Code Online (Sandbox Code Playgroud)

它抱怨的行看起来像这样:

  import { IsInt, IsNotEmpty, IsDate, Min } from "class-validator";
Run Code Online (Sandbox Code Playgroud)

我有这样的吞咽设置:

    var gulp = require('gulp');
    var ts = require('gulp-typescript');
    var tsProject = ts.createProject("tsconfig.json");

    gulp.task('default', function() {
      return tsProject.src()
        .pipe(tsProject())
        .js.pipe(gulp.dest("target/main/js"));
    });
Run Code Online (Sandbox Code Playgroud)

我的 tsconfig.json 看起来像这样:

    {
        "files": [
            "src/main/ts/**/*.ts"
        ],
        "compilerOptions": {
            "experimentalDecorators": true,
            "noImplicitAny": true,
            "target": "es6"
        }
    }
Run Code Online (Sandbox Code Playgroud)

想法?

typescript gulp gulp-typescript

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

Angular 5组件在选择器中需要`-`吗?

我正在审查这个Angular 5表单youtube教程,其中Sebastian最初有一个名为的表单选择器app-form01,但是他删除了该app-部分.IIUC自定义元素应该具有-.这放松了吗?

javascript web-component angular

2
推荐指数
1
解决办法
782
查看次数

在应用程序组件以外的组件中使用<router-outlet>?

如果我们使用<router-outlet>组件(任何组件)然后将a放到routerLink该组件中的另一个组件,链接是否始终呈现链接到<router-outlet>当前活动组件的组件?

换句话说,组件routerLink属性是否始终与<router-outlet>组件内部配对?

angular-routing angular angular-router

2
推荐指数
1
解决办法
5738
查看次数

Firebase身份验证和实时应用程序数据库如何保护自身?

从如何确保对在线资源的访问的一般开发角度来看,我对此感到很好奇。我们使用以下firebase配置参数初始化webapp:

  • apikey
  • authdomain
  • projectid
  • databaseurl
  • messagesenderid

服务器如何使用它们来确保请求有效?主要是为什么其他人不能只从应用程序中提取这些参数,然后创建另一个对“ Evil”使用相同参数的“ Evil”应用程序。

“邪恶”将包括创建一个具有与真实应用程序相同的凭据的其他应用程序,使用纯电子邮件/密码注册表单使用真实应用程序中包含的相同凭据对用户进行注册,然后在用户登录后执行甚至更多的“邪恶”。

同样是简单的节点快速js应用程序,我们希望使用上述参数来确保对其的访问安全,从应用程序请求生命周期的角度来看,这将如何工作?

1)快递收到请求

2)快递检查...

最后,openid-connect是如何工作的?换句话说,它是完全遵循openid-connect规范还是仅针对Firebase构建的基于自定义的安全解决方案?

javascript node.js firebase openid-connect firebase-authentication

2
推荐指数
1
解决办法
529
查看次数

直接从网络应用程序安全访问亚马逊 s3?

根据我对如何设置对亚马逊 s3 存储桶的安全访问的回顾,我们首先生成一个 IAM 用户,然后绑定一个安全策略,允许对该用户进行 s3 访问。之后我们可以为存储桶生成 API 密钥,该密钥可以对存储桶访问请求进行身份验证。目前我的理解是这样的,如有遗漏还请指正。

我假设 API 密钥应该仅在服务器端(The Secret Access Key)。换句话说,将它们直接放在网络应用程序中不安全吗?因此,我们首先必须将数据发送到我们的服务器,然后我们可以使用 API 密钥将其发送到存储桶?

有什么方法可以确保从 Web 应用程序直接访问亚马逊 s3 存储桶的安全吗?

方法总结

根据与 @CaesarKabalan 的讨论,听起来允许这样做的方法是:

1) 创建一个 IAM 用户,该用户可以创建可通过 Amazon Cognito 进行身份验证的身份 - 让我们将此步骤分配的凭证称为 Cognito 凭证。

2) 用户使用 Google 等登录 Web 应用程序

3) Web 应用程序向 Web 应用程序的服务器(可能是 lambda 函数)发出请求,以使用 Amazon Cognito 注册用户

4) Web 应用程序现在直接从 Amazon Cognito 获取用户的凭证,并使用这些凭证将数据发送到 s3 存储桶。

我认为这就是我们在概念上的处境。现在是时候进行测试了!

javascript amazon-s3 amazon-web-services single-page-application

2
推荐指数
1
解决办法
3094
查看次数

使用 lambda 函数添​​加 s3 对象标签?

该文档描述了如何通过控制台标记 s3 对象。我们如何使用 lambda 函数以编程方式执行此操作?

amazon-s3 amazon-web-services aws-sdk aws-lambda

2
推荐指数
1
解决办法
3273
查看次数

卸载所有 VSCode 插件/扩展?

是否可以一次性卸载所有 vscode 插件?我安装了几个不同的 HTML 插件,现在它破坏了我的 HTML 标记,所以我想重置整个编辑器。

html visual-studio-code

2
推荐指数
1
解决办法
4830
查看次数

如何理解类型`new(... args:any [])=&gt; any`

我正在阅读类验证器库的代码,它具有以下isInstance方法:

/**
 * Checks if the value is an instance of the specified object.
 */
isInstance(object: any, targetTypeConstructor: new (...args: any[]) => any) {
    return targetTypeConstructor
        && typeof targetTypeConstructor === "function"
        && object instanceof targetTypeConstructor;
}
Run Code Online (Sandbox Code Playgroud)

关于如何去理解类型有new (...args: any[]) => any什么想法吗?这是我第一次看到这种构造...

javascript validation instanceof typescript

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

Typescript“匿名”类型定义的正确名称是什么?

我正在看这行代码options?: { name?: string, async?: boolean }。该类型的正确术语是{ name?: string, async?: boolean }什么?它看起来像Java中的“匿名类”定义,但我猜它被称为其他名称。

typescript

2
推荐指数
1
解决办法
417
查看次数

Angular 的循环模板可以循环遍历枚举吗?

我回顾这段位的代码,是一个选择滤波器组件模型TodoS:

    export enum VISIBILITY_FILTER {
      SHOW_COMPLETED = 'SHOW_COMPLETED',
      SHOW_ACTIVE = 'SHOW_ACTIVE',
      SHOW_ALL = 'SHOW_ALL'
    }

    export type TodoFilter = {
      label: string;
      value: VISIBILITY_FILTER;
    };

    export const initialFilters: TodoFilter[] = [
      { label: 'All', value: VISIBILITY_FILTER.SHOW_ALL },
      { label: 'Completed', value: VISIBILITY_FILTER.SHOW_COMPLETED },
      { label: 'Active', value: VISIBILITY_FILTER.SHOW_ACTIVE }
    ];
Run Code Online (Sandbox Code Playgroud)

看起来好像所有这些都可以替换为:

export enum VISIBILITY_FILTER {
  SHOW_COMPLETED = 'Completed',
  SHOW_ACTIVE = 'Active',
  SHOW_ALL = 'All'
}
Run Code Online (Sandbox Code Playgroud)

因此,active过滤器属性将仅由枚举键入VISIBILITY_FILTER,我们将在模板中循环遍历 then enum,如下所示(伪代码):

    <option *ngFor="let filter of …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

2
推荐指数
1
解决办法
108
查看次数