iView 是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品。
最近在使用的过程当中,碰到一些问题记录下来,供大家参考 :
在下载了官方提供的工程文件 iview-projcet后,运行npm run dev ,会报错,像下面这样的:
> iview-admin@1.3.1 dev /Users/itxiao6/Desktop/iview-admin > webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js Happy[happybabel]: Version: 4.0.1. Threads: 8 (shared pool) fs.js:140 throw new ERR_INVALID_CALLBACK(); ^ TypeError [ERR_INVALID_CALLBACK]: Callback must be a function at maybeCallback (fs.js:140:9) at Object.fs.write (fs.js:656:14) at /Users/itxiao6/Desktop/iview-admin/build/webpack.dev.config.js:12:8 at FSReqWrap.oncomplete (fs.js:152:20) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! iview-admin@1.3.1 dev: `webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the iview-admin@1.3.1 dev script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in:
查来查去发现是windows上node版本过低导致的(Mac上并不会),解决方案:
在webpack.*.config文件中,根据你当前的node版本修改为对应的即可。
fs.open('./build/env.js', 'w', function(err, fd) { const buf = 'export default "development";'; // node 版本问题 // fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {}); // node --version > v10.1.0 fs.write(fd, buf, function(err, written, buffer) {}); // node --version < v10.1.0 });
在这里再啰嗦一遍经老生常谈的事情,遇到问题的时候千万不要慌,可以在git仓库地址的Issues板块,查看其他开发者提出来的问题及解决方案,一定会有可以学习到的地方哦~~