Vue3+vite打包Failed to load module script

完整報錯信息:

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',

 

posted @ 2024-04-03 17:29  牵你不解释  阅读(978)  评论(0)    收藏  举报