Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 运行时';默认值不是一个函数';从Fastfy插件导入fp时_Javascript_Node.js_Typescript_Fastify - Fatal编程技术网

Javascript 运行时';默认值不是一个函数';从Fastfy插件导入fp时

Javascript 运行时';默认值不是一个函数';从Fastfy插件导入fp时,javascript,node.js,typescript,fastify,Javascript,Node.js,Typescript,Fastify,我正在尝试使用fastfy插件来更好地处理ES6的恶作剧 以下工作很好 const fp = require('fastify-plugin'); export default fp(async (server, opts, next) => { // ... next(); }); 但将ol'所需的替换为导入,即 import fp from 'fastify-plugin'; export default fp(async (server, opts, next) =&g

我正在尝试使用
fastfy插件
来更好地处理ES6的恶作剧

以下工作很好

const fp = require('fastify-plugin');

export default fp(async (server, opts, next) => {
  // ...
  next();
});
但将ol'
所需的
替换为
导入
,即

import fp from 'fastify-plugin';

export default fp(async (server, opts, next) => {
  // ...
  next();
});
它在运行时失败,抱怨
fastfy\u plugin\u 1.default不是一个函数
,即使TypeScript一个字也不说

我对此感到非常困惑。
default
导出是在
fastfy plugin
s
plugin.d.ts
中定义的,因此从逻辑上讲它不会抱怨。但它也定义了
module.exports
plugin.js
中的
fp
函数(我假设必须是)。那么,为什么它说默认值不是一个函数呢?
module.exports
exportdefault
不同吗

FWIW我在上

  "dependencies": {
    "fastify": "^3.1.1",
    "fastify-plugin": "^2.0.1",
    "typescript": "^3.9.7"
  }

我尝试了各种
tsconfig.json
技巧和不同的
import
s。任何东西都不起作用(除了
需要
)。

tsconfig.json
中设置
“esModuleInterop”:true
的“编译器选项”下。请注意,
plugin.d.ts
文件出错。比较和
plugin.d.ts
应该使用
export=
而不是
export default
来编写。请注意,如果
plugin.d.ts
在使用
export default
时正确,您的第一个代码段将无法运行。无法使用以下代码重复:fastify@3.13.0,禁食-plugin@2.3.4in
tsconfig.json
set
“esModuleInterop”:编译器选项下的true
。请注意,
plugin.d.ts
文件出错。比较和
plugin.d.ts
应该使用
export=
而不是
export default
来编写。请注意,如果
plugin.d.ts
在使用
export default
时正确,您的第一个代码段将无法运行。无法使用以下代码重复:fastify@3.13.0,禁食-plugin@2.3.4