当我在 vue.js 中 npm runbuild 得到错误接口 'NodeRequire' 不能同时扩展类型 'Require'

Posted

技术标签:

【中文标题】当我在 vue.js 中 npm runbuild 得到错误接口 \'NodeRequire\' 不能同时扩展类型 \'Require\'【英文标题】:When I npm runbuild in vue.js get the error Interface 'NodeRequire' cannot simultaneously extend types 'Require'当我在 vue.js 中 npm runbuild 得到错误接口 'NodeRequire' 不能同时扩展类型 'Require' 【发布时间】:2020-04-15 21:40:21 【问题描述】:
ERROR in C:/phpStudy2018/PHPTutorial/WWW/Tms.Web/node_modules/@types/node/globals.d.ts(139,11):
139:11 Interface 'NodeRequire' cannot simultaneously extend types 'Require' and 'RequireFunction'.
  Named property 'cache' of types 'Require' and 'RequireFunction' are not identical.
    137 |
    138 | // For backwards compability
  > 139 | interface NodeRequire extends NodeJS.Require 
        |           ^
    140 | interface RequireResolve extends NodeJS.RequireResolve 
    141 | interface NodeModule extends NodeJS.Module 
    142 |

 error  in C:/phpStudy2018/PHPTutorial/WWW/Tms.Web/node_modules/@types/node/globals.d.ts

ERROR in C:/phpStudy2018/PHPTutorial/WWW/Tms.Web/node_modules/@types/node/globals.d.ts(139,11):

我的环境是 vue.js + typescript。不知道是我的配置有问题还是第三方包有问题 你能给我一些有用的建议吗 谢谢

【问题讨论】:

【参考方案1】:

我有同样的问题。

@types/node 的版本是 13.1.0 格林威治标准时间 2019 年 12 月 23 日星期一 16:40:55 发布

在我的情况下,当我使用以前的版本 12.12.22 时它可以工作

npm install --save-dev @types/node@12.12.22

【讨论】:

您还应该使用--save-exact 标志,否则package.json 获取此行:"@types/node": "^12.12.22" 而不是确切的版本"12.12.22" 关注这个问题。 github.com/DefinitelyTyped/DefinitelyTyped/issues/41224【参考方案2】:

我认为最好从编译中排除 @types 定义: https://***.com/a/57113847/1704895

非常简单(tsconfig.json):


  "compilerOptions": 
    ...,
    "types": []
  

【讨论】:

以上是关于当我在 vue.js 中 npm runbuild 得到错误接口 'NodeRequire' 不能同时扩展类型 'Require'的主要内容,如果未能解决你的问题,请参考以下文章

Vue js Vue-cli 执行“npm run build”,将图像不透明度的 css 编译为 1%

@npm 通过节点脚本和节点箱在 Vue.js 中运行错误

Vue JS NPM 模块导入组件

Vue.js 项目在“npm build”期间出现 404 错误并在 Apache Tomcat 中提供服务

使用 npm run build 后如何正确查看我的 Vue.js 应用程序

webpack配合vue.js实现完整的单页面demo