如何从打字稿使用头盔.js?

eug*_*ekr 4 typescript helmet.js

根据文档,使用纯 js 中的头盔非常容易:

const express = require('express')
const helmet = require('helmet')

const app = express()

app.use(helmet())
Run Code Online (Sandbox Code Playgroud)

但是我怎么能从打字稿中使用它呢?Typings文件导出一堆东西,其中一个是头盔接口,不能作为函数调用..我可以像这样导入它,但不知道接下来要做什么,我应该传递给app.use什么?

import * as helmet from 'helmet'
Run Code Online (Sandbox Code Playgroud)

我已经导入了头盔和打字机的最新版本:

"@types/helmet": "0.0.43",
"helmet": "^3.18.0"
Run Code Online (Sandbox Code Playgroud)

dds*_*tan 11

截至2021 年 5 月 8 日,戴着头盔4.6.0,我可以在 Typescript 项目中执行以下操作,而无需安装任何类型:

import helmet from 'helmet';
...

app.use(helmet());
Run Code Online (Sandbox Code Playgroud)

以防万一有人像我一样挣扎。


Eya*_*ael 10

终端

npm install helmet
npm install @types/helmet --save-dev
Run Code Online (Sandbox Code Playgroud)

应用程序

import Helmet from "helmet";

const app = express();
app.use(Helmet());
Run Code Online (Sandbox Code Playgroud)

初始化 express 应用程序对象后,头盔中间件应该是您激活的第一件事。还要注意标题名称

  • 我收到“TypeError:helmet_1.default is not a function”helmet@4.1.1 和 @types/helmet@0.0.48 (2认同)

Mur*_*ain 5

具体如何使用,只需在 app.use 方法中调用头盔即可

import * as helmet from "helmet"; // Security

....


    /**
     * Create our app w/ express
     */
    this.app = express();
    this.app.use(helmet());
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请访问此链接以获取带有打字稿的快速应用程序

  • 头盔 v 4.0.0 或 @types/helmet v 0.0.47 是否有所改变?我从 v 3.23.3 升级了头盔版本,现在收到编译错误“此表达式不可调用。” 对于“头盔()” (4认同)