完整報錯信息:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
目前vite.config.js打包寫法:
// 拆分js到模块文件夹 chunkFileNames: (chunkInfo) => { const facadeModuleId = chunkInfo.facadeModuleId ? chunkInfo.facadeModuleId.split('/') : [] const fileName = facadeModuleId[facadeModuleId.length - 2] || '[name]' return `js/${fileName}/[name].[hash].js` },
部署後一直打開不了頁面,打開控制台一直提示找不到某文件。一搜那文件發現有名字一樣的文件,將文件名重命名後打包竟然沒問題了
原因分析:
從此代碼可看出來文件夾名是使用文件所在的路徑,不然就使用文件名,進人/js/可以看到其中一個文件夾竟然包含兩個文件?文件名為interviewsAndSalesRecords.svg。還有個文件名為InterviewsAndSalesRecords。打包後會在同一文件夾。
原來是windows文件夾名是不區分大小的,Linux是區分文件夾名大小寫的。windows下打包導致文件資源路徑錯誤,Linux下部署找不到對應的資源文件
解決:
管他三七二十一,反正客戶沒要求靜態資源放哪,將所有腳本都放到js/下
chunkFileNames: 'js/[name]-[hash].js',
标签:load,文件,script,module,js,facadeModuleId,打包 From: https://www.cnblogs.com/frenzy/p/18113187