起因是这样的,用的是view-design
的东西,在模仿官方圆环的例子的时候,用到了:
<style class="less">
</style>
因为没有less
相关的依赖,项目无法运行,按照提示安装了less-loader
、vue-style-loader
等,结果再次运行的时候还是不行,然后我卸载了之前安装的包,删掉了和less
相关的内容,重新运行,发现还是报错,于是我就把node_modules
删了,重新运行了npm install --save-dev
,再次运行,这次iview报错:
Error Failed to compile with 1 errors
This dependency was not found:
* view-design/dist/styles/iview.css in ./src/main.js
To install it, you can run: npm install --save view-design/dist/styles/iview.css in ./src/main.js
按照提示,我运行了
npm install --save view-design/dist/styles/iview.css
,提示没有package.json
(好像是),安装不了检查了
node_modules
里边的包,发现这个文件其实是有的,路径也是正确的,但为啥就是提示not found-
于是百度了类似的问题,找到了几种网友提供的解决方法,均无效:
-
在
webpack.base.conf.js
的module.exports=
下的module:rules:
下添加:{ test:/\.css$/, loader:'style-loader!css-loader!stylus-loader', include:[ /src/, '/node_modules/iview/dist/styles/iview.css' ] }
-
在
.postcssrc.js
中的autoprefixer
下添加:'autoprefixer': {browsers: 'last 5 version'}
还有一种说法是用
import 'view-design'
替代import 'view-design/dist/styles/iview.css'
(main.js
里边),期间又重新安装了node_modules
,这样子能正常跑起来了,但是网页的风格完全消失了,黑底白字,按钮也失效了。
-
非常绝望,于是我又重新安装了
node_modules
,期间我发现了一个提示:
peerDependencies WARNING css-loader@* requires a peer of webpack@^5.0.0 but webpack@3.12.0 was installed
我用的是cnpm
,因为最后还是提示All packages installed
,所以没注意到这个问题
所以在package.json
里边不断降低css-loader
的版本,直到1.0.1的时候,虽然还是提示版本不对应,但是能够正常运行了,页面也正常了,绝了,项目有点老了,webpack版本也低了,确实挺折腾的
- 其实中途还报错:
UnhandledPromiseRejectionWarning: TypeError: this.getResolve is not a function
貌似就可以确认是版本过高的问题了,不过没有定位到是css-loader
的锅
-
如果从Windows的资源管理器中删除
node_modules
(拖到回收箱),因为文件巨多,速度会非常慢,而且在我电脑上还出现了权限的问题导致无法删除,因此使用rimraf
来删除:npm install rimraf -g rimraf node_modules // 相当于rm -rf命令