vue3 使用require报错:require is not defined

这篇具有很好参考价值的文章主要介绍了vue3 使用require报错:require is not defined。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.报错原因

vue3使用vite打包 里面没有require方法, webpack 里面有这个方法

2.解决方案

使用import 代替

*注:

资源可使用import.meta.globEager(“…/*.png”) ;
动态引入,需要给 css 路径加括号

vite官网静态资源处理 new URL(url, import.meta.url)
import.meta.url : ESM 的原生功能,会暴露当前模块的 URL
与原生的 URL 构造器 组合使用,在一个 JavaScript 模块中,通过相对路径我们就能得到一个被完整解析的静态资源 URL

 function test(name) {
  return new URL(`../${name}.png`, import.meta.url).href
}

在生产构建时,Vite 才会进行必要的转换(保证 URL 在打包和资源哈希后仍指向正确的地址)

注意这个 URL 字符串必须是静态的,这样才能分析
否则代码将被原样保留,因而在 build.target 不支持 import.meta.url 时会导致运行时错误文章来源地址https://www.toymoban.com/news/detail-724110.html

 Vite 不会转换这个
const url = new URL(imagePath, import.meta.url).href

到了这里,关于vue3 使用require报错:require is not defined的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3+vue-cli 报错 ‘defineProps‘ is not defined

      确保这些都存在,仍报错则需要修改node版本的 本人改到最新版就没什么问题了

    2024年02月12日
    浏览(63)
  • 微信小程序 “require is not defined” require报错

    import等正常,文件引用出现问题 (这里的路径没错) 甚至存储require结果的变量不完全为空 微信小程序require报错 感谢大佬的提示,总结为不看文档 完整文件: 既然console都没出现问题,那么必然是微信的问题了 根本没能力判断哪些文件是无用依赖 点到为止.jpg 语言:Typescrip

    2024年02月06日
    浏览(57)
  • vue3-webpack遇到Eslint各种报错 Vue 项目报错:‘XXXXX‘ is not defined ( no-undef ) 解决方法

    报错一: VUE3 You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignor 原因 :与创建项目时选择的 eslint 的设置问题,可以通过“—fix”选项修复 .解决方法 : package.json //原代码 更改: 报错二: 提示建议我们使用特殊注释禁用某些警告。使用//eslint disable

    2024年02月08日
    浏览(50)
  • Vue3报错:Property “xxx“ was accessed during render but is not defined on instance.

    Vue3报错:Property “xxx” was accessed during render but is not defined on instance. 翻译:属性“xxx”在呈现期间被访问,但没有在实例上定义。 其实就是在模板上有,但是在script上没有定义 很多同学跟说这不是报错,是警告,其实只要是在渲染页面时出现的问题,我们都可以说成是报错

    2023年04月08日
    浏览(48)
  • 请求报错Required String parameterid‘is not present

    关于ajax请求spring后台出现 Required String parameter id’is not present异常如果前端传入的是ison数据那么后端使用 @RequestBody HashMapString, String map 进行接收,然后再通过map.get(“id”)获取对应的数据 如果前端传入的是正常表单数据,那么后端使用 @RequestParam(\\\"id\\\") String id 或者 @RequestPa

    2024年02月04日
    浏览(38)
  • 解决浏览器 require is not defined 的报错问题

    在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错 require is not defined 。 这是因为 require 是node环境下的CommonJs,而 import 是浏览器环境下的ESModule。ESModule不认识require。 require 是node的一个私有的全局方法。 那就让打包出来的代码别有require,换句话说,

    2024年02月15日
    浏览(54)
  • 请求报错:Required String parameter ‘id‘ is not present

    在开发前端通过ajax请求后端地址http://127.0.0.1:8082/getDataMode2时参数id或mode为空时报错。 后端代码为:  原因: 注解@RequestParam的required参数默认情况下为true,也就是不能为空,加上require=false即可 修改后的代码:  

    2024年02月11日
    浏览(35)
  • node.js报错 ReferenceError require is not defined 解决方案

    从node.js 14版及以上版本中,require作为COMMONJS的一个命令已不再直接支持使用,所以我们需要导入createRequire命令才可以; 在使用 require 的地方需要加入以下代码:

    2024年01月18日
    浏览(56)
  • 解决报错: require is not defined in ES module scope

    用node启动mjs文件报错:require is not defined in ES module scope 现象如下:  原因: 文件后缀是mjs, 被识别为es模块,但是node默认是commonjs格式,不支持也不能识别es模块。 解决办法:把文件后缀从.mjs改成 ==》.cjs后缀 补充资料: .cjs 代表使用 CommonJS 模块 .mjs 代表使用 ES 模块 首先我

    2024年02月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包