vue模塊導(dǎo)入報錯問題Module not found: Error:[CaseSensitivePathsPlugin]
vue Module not found: Error:[CaseSensitivePathsPlugin]
今天學(xué)習vue項目練手時,出了一個小小的錯誤:
檢查了下,發(fā)現(xiàn)自己在模塊導(dǎo)入的時候沒有和組件文件名大小寫完全一致造成的。
改為上述,即必須和文件名一毛一樣,大小寫敏感,唉。
vue批量導(dǎo)入模塊
在基于vue-element-admin的開發(fā)時,每添加一個路由文件就要到另外一個文件里import相應(yīng)的模塊,這樣開發(fā)起來不友好,如果有一種方法批量導(dǎo)入這些新增的文件,開發(fā)起來就方便多了。
這時我們可以使用require-context()方法,詳見。
我們約定一個規(guī)則就是路由文件由export default拋出路由配置,代碼也是判斷是否是由export default來篩選導(dǎo)入的。
src/utils/require-dir.js
export function requireDir(files, expendFiles = ['./index.js']) { ? let list = [] ? files.keys().forEach(key => { ? ? if (expendFiles.includes(entryFile)) return ? ? // 必須是export default ? ? if (files(key).default) { ? ? ? list = list.concat(files(key).default) ? ? } ? }) ? return list }
src/router/index.js
// 獲取module文件里的路由 import { requireDir } from '@/utils/require-dir.js' const routers = requireDir(require.context('./module', true, ['./index.js']) //然后使用 ?...routers ?添加到路由里邊
同樣,mockapi也可以使用這種方法來批量導(dǎo)入文件。
值得注意的是直接使用require.context會報錯(require.context is not a function),這是因為項目中webpack不認這個文件,我們可以通過外部導(dǎo)入來引用這個功能。
cnpm install --save-dev require-context
使用上述方法
mock/index.js
import { requireDir } from '../src/utils/require-dir.js' const requireContext = require('require-context'); const apiList = requireDir(requireContext('../../mock', true, /\.js$/), ['index.js','mock-server.js']) const mocks = [ ?? ?... apiList ]
要注意的是,此時requireContext的當前目錄是node_modules/_require-context…根據(jù)當前目錄找到mock
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3插槽:el-table表頭插入tooltip及更換表格背景色方式
這篇文章主要介紹了vue3插槽:el-table表頭插入tooltip及更換表格背景色方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06vue拖拽組件 vuedraggable API options實現(xiàn)盒子之間相互拖拽排序
這篇文章主要介紹了vue拖拽組件 vuedraggable API options實現(xiàn)盒子之間相互拖拽排序克隆clone,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07