如何在NodeJS/ES6/Typescript应用中使用expressjs

yx2lnoni  于 2023-02-10  发布在  TypeScript
关注(0)|答案(4)|浏览(178)

如果我的信息是正确的,我需要在ES6应用程序中使用import .. from '..'而不是var .. = require('..')导入依赖项。
所以我改变了导入。但是我在接收错误的cookie解析器的导入上有问题
模块"“Cookie解析器”"没有默认导出。”
我变了

var cookieParser = require('cookie-parser');

import cookieParser from 'cookie-parser';

如何解决此问题?

fcwjkofz

fcwjkofz1#

您可以使用

import cookieParser from 'cookie-parser';

只有在您也安装了类型的情况下,它才能工作。

npm install --save-dev @types/cookie-parser

然后,您可以按如下方式使用它:

app.use(cookieParser());
m2xkgtsf

m2xkgtsf2#

一种可能的方法是:

import * as cookieParser from 'cookie-parser';

...遵循this recommendation

eqqqjvef

eqqqjvef3#

import cookieParser from 'cookie-parser';

这应该工作。我也要确保你使用的是babel节点传输器。如果你不使用babel模块将无法正确加载

rsl1atfo

rsl1atfo4#

对于任何仍面临这个问题的人来说,
除了安装cookie-parser所需的类型外,您还需要在package.json文件中启用type: "module",这样Node就知道您使用的是ES6语法而不是CommonJS。
除此之外,还要将tsconfig.json中的modulemoduleResolution属性更改为NodeNext。

{
   "module": "NodeNext"
   "moduleResolution": "nodenext"
}

相关问题