Webpack打包时出现require报错问题

错误描述

  • 通常问题常出现在target: ‘node‘环境中
  • 编译文件中存在以如下方式使用require:
// for example 1:
const reload = require('require-reload')(requireFunc)

// for example 2:
function main () {
    var data = require(dataPath)
}
  • 打包时会报错:
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
Critical dependency: the request of a dependency is an expression

错误解决方案

  • 在编译文件中添加如下代码即可:
const requireFunc = typeof __webpack_require__ === 'function' ? __non_webpack_require__ : require

(PS:该方案是在度娘中找到的,并非原创,苦于已经找不到原文,因此自己记录下,以便于下次遇到问题时方便查找)

原文地址:https://www.cnblogs.com/leona-d/p/12312754.html

时间: 2024-08-05 11:23:45

Webpack打包时出现require报错问题的相关文章

webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc «(», expected punc «:»

webpack打包压缩 ES6 js..vue报错: ERROR in js/test.js from UglifyJs Unexpected token punc ?(?, expected punc ?:? [js/test.js:1374,5] 解决方案: 配置babel,把配置放到文件[.babelrc]中 { "presets": ["es2015"] }

webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc (();

最近做项目的时候运用vue,webpack,在打包压缩的工程中,其他压缩都没有问题,但是最后生成的bundle.js文件确报错,虽然也可以运行,但是毕竟文件大小在那里放着: 开始我的解决方案是再写一个webpack.config.js专门配置打包上面已经打包失败的bundle.js:打包压缩完成后再替换掉,这样会很麻烦: 于是在网上找很多方法,都是说配置"presets": ["es2015"]:但是我在webpack.config.js中运用后 //es6语法 n

ANE-如何加入ane,调试时又不报错

有时候我们加入ane,即使没有调用ane的功能,debug的时候也会报错无法调试,这是为什么呢?因为我们的ane没有把default包含进去. 首先我们的extension.xml要把default节点包含进去 <extension xmlns="http://ns.adobe.com/air/extension/3.1"> <id>net.digitalprimates.volume</id> <versionNumber>0.0.1&

react-native启动时红屏报错:Unable to load script.Make sure you&#39;re either running a metro server or that ....

一.报错信息内容 我是在Android Studio中运行启动react-native项目时报的这个错误 1.报错提示:Unable to load script.Make sure you're either running a metro server( run 'react-native start' ) or that your bundle 'index.android.bundle' is packaged correctly for release. 2.中文翻译:无法加载脚本.请

【翻译自mos文章】OGG add Supplemental Logging 时失败,报错为 块损坏(Block Corruption)

OGG add Supplemental Logging 时失败,报错为 块损坏(Block Corruption) 来源于: Add Supplemental Logging Fails Due To Block Corruption (文档 ID 1468322.1) 适用于: Oracle Server - Enterprise Edition - Version 10.2.0.5 to 12cBETA1 [Release 10.2 to 12.1] Information in this

Navicat导入数据时发生了报错 --- 1153 - Got a packet bigger than &#39;max_allowed的处理办法

今天我在使用Navicat导入.sql文件数据时,发现本来是80万条的数据,结果只导入了10万条左右,而且在其错误信息日志中,我发现了这样一条错误:1153 - Got a packet bigger than 'max_allowed. 度娘了一番后,发现越来是我的SQL文件远远大于MySQL默认执行的文件大小,所以执行不过去. 解决方法: 在MySQL安装目录下找到文件my.ini,搜索[mysqld],在其下面添加一句话 max_allowed_packet=521M  ##该处按照自己的

VC++ 通过ADO连接数据库查询时返回空值报错的解决方案

当数据库的字段值允许为空时, 而且此时内容也为空时,则执行查询会出错,例如 CString str = pRecordset->GetFields()->GetItem((long)0)->GetValue(); 或者 str= pRecordset->GetCollect("posInfo"); 会弹出如下窗口提示出错! 更加奇怪的是  catch(...)也抓不到异常 今天碰着个问题算是头弄大了  最后终于弄好了 报错的原因:   在GetCollct返回了

Debug程序时,VS报错:由于端口“*****”正在使用,无法启动VS开发服务器

Debug程序时,VS报错:由于端口“*****”正在使用,无法启动VS开发服务器 解决办法: 右键单击web项目,选择“属性”,选择属性页左侧的web选项卡,在选项卡页面的下部有一个“服务器--使用VisualStuido开发服务器--特定端口”的选项,可以设置为自动分配端口或者修改特定端口

前端ajax用post方式提交json数据给后端时,网络报错 415

项目框架:spring+springmvc+mybatis 问题描述:前端ajax用post方式提交json数据给后端时,网络报错 415 前端异常信息:Failed to load resource: the server responded with a status of 415 (Unsupported Media Type) 后端异常信息:无 报错原因:缺少jackson包 类似问题注意点: springmvc添加配置.注解: pom.xml添加jackson包引用: Ajax请求时没