Bug: npm events模块貌似有内置实现,导致npm模块无效

  • Creator 版本:2.0.10

  • 目标平台:Web

  • 详细报错信息,包含调用堆栈:npm events模块无效,被编辑器内置的events替换?

  • 重现方式1:
    新建typescript项目,npm install events @types/events
    新建Hello继承events

import { EventEmitter } from 'events'
class Hello extends EventEmitter {
    constructor () {
        super();
    }

    hello () {
        console.log('hello')
    }
}

运行项目,发现Hello类没有off方法,查看项目node_modules/events/events.js里面是有该方法。
查看编译后的文件tmp/quick-scripts/__node_modules/events/events.js 和npm安装的文件内部实现不一致,貌似是比较老的版本。
结论:可能是编译器自动替换了events模块的实现。

重现2:
新建typescript项目,npm install @types/events, 不安装events模块
同1新建Hello类继承events
运行项目,发现并没有安装event模块,但是tmp/quick-scripts/_node_modules/events/events.js还是存在。

  • 出现概率:100%