使用網上的通用插件搭建腳手架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’),//新增加一行” 這樣的操作的