ReferenceError: module is not defined

报错

E:\project\myTest\demo2>node app.js
koa deprecated Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md file:\E:\project\myTest\demo2\app.js:21:5
file:///E:/project/myTest/demo2/app.js:36
module.exports = app;
^

ReferenceError: module is not defined
    at file:///E:/project/myTest/demo2/app.js:36:1
    at ModuleJob.run (internal/modules/esm/module_job.js:145:37)
    at async Loader.import (internal/modules/esm/loader.js:182:24)
    at async Object.loadESM (internal/process/esm_loader.js:68:5)

 代码块

import Koa from 'koa';
import Router from 'koa-router' 
import json from 'koa-json'
import logger from 'koa-logger'
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const app = new Koa();
const koa = new Router();

app.use(require('koa-bodyparser')());
app.use(json());
app.use(logger());

app.use(function* (next){
  let start = new Date;
  yield next;
  let ms = new Date - start;
  console.log('%s %s - %s', this.method, this.url, ms); // 显示执行的时间
});

app.on('error', function(err, ctx){
  console.log('server error', err);
});

app.listen(8889,() => {
  console.log('Koa is listening in 8889');
});

module.exports = app;

解决

es导入与CommonJs混合,在文件底部,modeule.exports=app是CJS术语,ES模块等效项是

export default app;

即把底部module.exports=app改为export default app;

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值