解决浏览器 require is not defined 的报错问题

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

原因

在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错require is not defined

这是因为require是node环境下的CommonJs,而import是浏览器环境下的ESModule。ESModule不认识require。
require是node的一个私有的全局方法。

解决方法

那就让打包出来的代码别有require,换句话说,webpack应该打包出一个适用于ES6环境下的代码。

只需在webpack.config.js中,将原来的target: 'node'改成target: 'web'即可。
require is not defined,前端,webpack,javascript,前端

热知识

export / export default + import ===》 ES6
module.exports / exports + require ===》CommonJS文章来源地址https://www.toymoban.com/news/detail-616317.html

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

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

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

相关文章

  • 解决报错: 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日
    浏览(52)
  • 解决项目迁移vite引入图片资源报require is not defined的问题

    Vite是一种轻量快速的前端构建工具,能够显著提升前端开发体验,而且官方已经发布v4版本,相对比较稳定。在把VueCli搭建的项目迁移到Vite的过程中遇到了个问题,下面分享一下问题及解决办法。 在 script 标签里面引入的图片资源没生效,然后一看控制台,报错显示 require

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

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

    2024年02月06日
    浏览(57)
  • 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 的原生功能,会暴露当前模块的

    2024年02月07日
    浏览(47)
  • 浏览器不支持 css 中 :not 表达式的解决方法

    使用 :not 表达式的样式在不同浏览器中存在不生效的问题。 不生效是因为浏览器版本较低所导致的。(更多详细信息请看:MDN) 初始写法: 改成以下写法即可: 👇觉得有帮助的朋友可以支持下作者哦,您的鼓励是我创作的最大动力,如有开发问题可联系作者

    2024年01月25日
    浏览(40)
  • 使用Python+selenium实例化Microsoft Edge或Chrome浏览器对象和常见的报错

    实例化谷歌浏览器对象: 实例化Microsoft Edge对象: 1.浏览器窗口闪退: 用import time    time.sleep(5),让浏览器多待上一会就好了 2.报错\\\"DeprecationWarning: executable_path has been deprecated\\\":  此错误不耽误程序运行,如果程序因为此错误不能运行,修改代码为: 3.报错\\\"TypeError: \\\'module\\\'

    2024年02月12日
    浏览(85)
  • 快速解决浏览器访问http或者不安全https 地址栏出现不安全或者Not secure

    在2018 年开始 google 浏览器 开始对 http 所有的网址都做出了 不安全的提示 ,如  这样的话 让很多 http的网址显得很“不安全” 在对外展示的时候,不禁给客户留下不好的印象 解决此问题的 正规方案当然是 改成 浏览器推荐的 https ,有正规的域名,但是本方案不是本文重点,

    2024年02月11日
    浏览(51)
  • 浏览器require加载devextreme-react组件

    十几年前使用了devexpress公司的delphi元件,功能很强。它们的html元件devextreme,功能表现类似,也行强。 devextreme和devextreme-react,我使用的是23.2.3版本。 官方推荐的用法,都是要经过build: 经过约12秒的build,出来的html中有一个bundle.js,大小为12.5M。 它的模式是MPA,用babel把r

    2024年01月23日
    浏览(50)
  • 浏览器The requested URL * was not found on this server. 的解决方法

    ①apache的重写未开启,开启重写后,问题解决,方法如下: apache 打开 httpd.conf 文件 找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#号 ②找到 Directory “E:/online/webs/Apache24/htdocs” Options Indexes FollowSymLinks AllowOverride None =改为 AllowOverride All Order allow,deny Allow from all ③在项

    2024年02月12日
    浏览(282)
  • ReferenceError: require is not defined 【vue3 +vite +setup语法使用报错】

    原本我们在vue2时代,可以使用require 导入静态资源,如下所示 但在vue3中的vite没有require方法定义的使用,说白了就是不使用require方法进行资源的导入,而是使用新的方法。详情请看官网。 Vite官网 我这里提供两种方法: 方法1: 使用 import导入资源 方法2: 直接使用 new URL(

    2024年02月13日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包