如何使用打字稿中的 helmet.js?
How to use helmet.js from typescript?
根据文档从纯 js 使用头盔非常容易:
const express = require('express')
const helmet = require('helmet')
const app = express()
app.use(helmet())
但是我如何从打字稿中使用它呢? Typings 文件导出了一堆东西,其中一个是头盔接口,不能作为函数调用。我可以这样导入,但不知道下一步该做什么,我应该传递什么给 app.use ?
import * as helmet from 'helmet'
我已经导入了最新版本的头盔和打字:
"@types/helmet": "0.0.43",
"helmet": "^3.18.0"
这就是你可以使用的方法,只需在 app.use 方法中调用 helmet
import * as helmet from "helmet"; // Security
....
/**
* Create our app w/ express
*/
this.app = express();
this.app.use(helmet());
有关更多详细信息,请访问此 link 以获得带有 typescript 的快速应用程序
终端:
npm install helmet
npm install @types/helmet --save-dev
app.ts:
import Helmet from "helmet";
const app = express();
app.use(Helmet());
helmet 中间件应该是您在初始化 express 应用程序后首先激活的东西 object。还要注意标题名称
这样进口头盔:
import * as helmet from 'helmet';
避免以下警告:
TypeError: helmet_1.default is not a function
根据 @types/helmet
,该包已被弃用,因为头盔现在有自己的类型定义。所以我不会建议你安装 @types/helmet
包。
要解决此问题,请从 package.json
文件中删除头盔依赖项,然后通过 运行:
安装最新版本的 helmet
npm i helmet
自 08.05.2021 使用 helm 4.6.0
我可以在 Typescript 项目中执行以下操作而无需安装任何类型:
import helmet from 'helmet';
...
app.use(helmet());
以防像我一样挣扎的人。
启用 tsconfig.json
中的 esModuleInterop
选项,警告将消失。
之后,您就不需要import * as helmet
。
根据文档从纯 js 使用头盔非常容易:
const express = require('express')
const helmet = require('helmet')
const app = express()
app.use(helmet())
但是我如何从打字稿中使用它呢? Typings 文件导出了一堆东西,其中一个是头盔接口,不能作为函数调用。我可以这样导入,但不知道下一步该做什么,我应该传递什么给 app.use ?
import * as helmet from 'helmet'
我已经导入了最新版本的头盔和打字:
"@types/helmet": "0.0.43",
"helmet": "^3.18.0"
这就是你可以使用的方法,只需在 app.use 方法中调用 helmet
import * as helmet from "helmet"; // Security
....
/**
* Create our app w/ express
*/
this.app = express();
this.app.use(helmet());
有关更多详细信息,请访问此 link 以获得带有 typescript 的快速应用程序
终端:
npm install helmet
npm install @types/helmet --save-dev
app.ts:
import Helmet from "helmet";
const app = express();
app.use(Helmet());
helmet 中间件应该是您在初始化 express 应用程序后首先激活的东西 object。还要注意标题名称
这样进口头盔:
import * as helmet from 'helmet';
避免以下警告:
TypeError: helmet_1.default is not a function
根据 @types/helmet
,该包已被弃用,因为头盔现在有自己的类型定义。所以我不会建议你安装 @types/helmet
包。
要解决此问题,请从 package.json
文件中删除头盔依赖项,然后通过 运行:
helmet
npm i helmet
自 08.05.2021 使用 helm 4.6.0
我可以在 Typescript 项目中执行以下操作而无需安装任何类型:
import helmet from 'helmet';
...
app.use(helmet());
以防像我一样挣扎的人。
启用 tsconfig.json
中的 esModuleInterop
选项,警告将消失。
之后,您就不需要import * as helmet
。