程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Vue3+TypeScript项目报错: 找不到名称“require”。是否需要为节点安装类型定义?

发布于2022-12-03 15:04     阅读(1271)     评论(0)     点赞(23)     收藏(0)


Vue3+TypeScript项目编写代码时报错:找不到名称“require”。是否需要为节点安装类型定义?请尝试使用 npm i --save-dev @types/node。 

 描述:今天在开发项目时(项目框架Vue3+TypeScript)需要 动态引入静态资源,也就是img标签的src属性值为动态获取,按照以往的做法直接是require引入即可,如下代码:

<img class="demo" :src="require(`../../../assets/image/${item.img}`)" />

写上后代码波浪线报错,报错提示:找不到名称 “require”。是否需要为节点安装类型定义? 请尝试使用 npm i --save-dev @types/node。ts(2580)
按照提示在命令行工具中执行安装@type/node后波浪线依然存在,没有解决问题,后经过排查发现需要在ts的配置文件tsconfig.json中加上type类型,解决方式如下
第一步:按照提示 安装@type/node,在命令行工具中输入提示中的安装命令

npm i --save-dev @types/node

第二步:打开 项目根目录,找到 TypeScript的配置文件tsconfig.json,在tsconfig.json中加上type:['node'] 指定类型,代码如下:

  1. {
  2. "compilerOptions": {
  3. "target": "esnext",
  4. "module": "esnext",
  5. "moduleResolution": "node",
  6. "strict": true,
  7. "jsx": "preserve",
  8. "sourceMap": true,
  9. "resolveJsonModule": true,
  10. "esModuleInterop": true,
  11. "baseUrl": ".",
  12. "types": [
  13. "vite/client",
  14. "node"
  15. ],
  16. "lib": [
  17. "esnext",
  18. "dom"
  19. ],
  20. "paths": {
  21. "/@/*": [
  22. "src/*"
  23. ],
  24. }
  25. },
  26. "include": [
  27. "src/**/*.ts",
  28. "src/**/*.d.ts",
  29. "src/**/*.tsx",
  30. "src/**/*.vue",
  31. "src/vendors/coordtransform.js"
  32. ]
  33. }

加上后require即可不再报错~

友情提示:如果你的项目用的是Vite,即框架是 Vue3+TypeScript+Vite,那么require是不能被使用的,vite中并没有require这种静态资源加载方法,因此如果是想动态的加载静态资源,应该到vite的官网上去查找vite如何引入静态资源
或者看博主的另一篇问题解决方法…博文地址如下:Vue3+TypeScript+Vite如何使用require动态引入类似于图片等静态资源

原文链接:https://blog.csdn.net/weixin_41012767/article/details/127507839




所属网站分类: 技术文章 > 博客

作者:麻辣小龙虾

链接:http://www.qianduanheidong.com/blog/article/459371/74692d1c32727f07468b/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

23 0
收藏该文
已收藏

评论内容:(最多支持255个字符)