使用网上的通用插件搭建脚手架cli4时完全按照官网文档却一致报错:
[Script Loader] ReferenceError: require is not defined
at eval (eval at module.exports (addScript.js?436f:27), <anonymous>:1:1)。。。
这个报错是只要一刷新页面就会有
查询了网上各种资料和分析后(网上资料说这个的不多)分析应该是require 浏览器不能识别的原因,因为并不影响正常使用,虽然刷新页面和初始化都会报这个错误,但是只要导出都是正常的导出的数据也没有影响
长时间调试还是觉得报错很碍眼,方案一:下载兼容require的插件,并配置即可
方案二,直接改插件源码:(不是cnpm里的插件,而是下载下来的export2Excel.js)
在export2Excel.js内只要改动头部一行源码即可
改之前: /* eslint-disable */ require('script-loader!file-saver');//保存文件用 require('script-loader!@/excel/Blob');//转二进制用 // require('./Blob');//转二进制用 require('script-loader!xlsx/dist/xlsx.core.min');//xlsx核心 ... 改成: /* eslint-disable */ require('script-loader!file-saver');//保存文件用 // require('script-loader!@/excel/Blob');//转二进制用 require('./Blob');//转二进制用 require('script-loader!xlsx/dist/xlsx.core.min');//xlsx核心
问题解决了,页面刷新和重绘不再报错
解决后:
请注意,我这边用的是vue-cli4 脚手架,是没有网上很多教程里的“在webpack.base.conf.js 里面增加resolve下一行代码
‘vendor’: path.resolve(__dirname, ‘…/src/vendor’),//新增加一行” 这样的操作的