<style>.title { padding: 10px; background-color: rgba(3, 169, 244, 1); font-size: 16px; color: rgba(255, 255, 255, 1) }</style>
問題及背景
最近在現有Vue2專案中引入VuePress檔案工具,撰寫基于ElementUI的組件檔案,結果出現了詭異的”Error from chokidar (D:\): Error: EBUSY: resource busy or locked, lstat 'D:\pagefile.sys'報錯,
從報錯資訊看不出任何有幫助的提示,參考網上的方法洗掉重裝node_modules,問題依舊,
初始代碼:
// enhanceApp.js import 'element-ui/lib/theme-chalk/index.css'; import ElementUI from 'element-ui';
//import { Button } from 'element-ui'; // 單獨引入同樣報錯
export default async ({ Vue }) => { Vue.use(ElementUI, {size: 'mini'}); }
報錯資訊:
success [14:16:24] Build 59369a finished in 4897 ms! > VuePress dev server listening at http://localhost:8080/ Error from chokidar (D:\): Error: EBUSY: resource busy or locked, lstat 'D:\pagefile.sys'
問題排查
嘗試將檔案獨立為一個新專案,則沒有問題,于是考慮是依賴沖突問題,但具體是哪個依賴則不得而知,
于是只能排除法一個個組件測驗,
// enhanceApp.js import Alert from 'element-ui/lib/alert.js'; import Aside from 'element-ui/lib/aside.js'; import Autocomplete from 'element-ui/lib/autocomplete.js'; import Avatar from 'element-ui/lib/avatar.js'; import Backtop from 'element-ui/lib/backtop.js'; //中間省略,, import Backtop from 'element-ui/lib/upload.js';
最終發現在引入 “form-item.js”組件時問題出現,其它組件則沒有問題,
于是深入form-item代碼內部繼續排查,同時聯想之前看過的文章,確定了沖突的依賴“async-validator”,
/***/ 49: /***/ (function(module, exports) { module.exports = require("async-validator"); /***/ }),
從elementUI看到依賴版本為1.8.1
"dependencies": { "async-validator": "~1.8.1", //省略 }
在專案中將其指定到1.11即可,至此問題解決,可以愉快地完整參考elementui了,
// 專案package.json "dependencies": { "async-validator": "^1.11.5"", }
總結
排除法找到有問題的依賴為"async-validator",通過指定為高版本即可解決問題,但之前的報錯資訊跟問題原因看起來簡直毫無關系,不得不提醒大家注意保持平常心,這非常重要,:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/545975.html
標籤:其他
上一篇:webgl 系列 —— 三角形
