view-design引入iview.css报错的问题

2021-07-19  本文已影响0人  小米智能香蕉

起因是这样的,用的是view-design的东西,在模仿官方圆环的例子的时候,用到了:

<style class="less">
</style>

因为没有less相关的依赖,项目无法运行,按照提示安装了less-loadervue-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
  1. 按照提示,我运行了npm install --save view-design/dist/styles/iview.css,提示没有package.json(好像是),安装不了

  2. 检查了node_modules里边的包,发现这个文件其实是有的,路径也是正确的,但为啥就是提示not found

  3. 于是百度了类似的问题,找到了几种网友提供的解决方法,均无效

    • webpack.base.conf.jsmodule.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,这样子能正常跑起来了,但是网页的风格完全消失了,黑底白字,按钮也失效了。

  4. 非常绝望,于是我又重新安装了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版本也低了,确实挺折腾的

  1. 其实中途还报错:
UnhandledPromiseRejectionWarning: TypeError: this.getResolve is not a function

貌似就可以确认是版本过高的问题了,不过没有定位到是css-loader的锅

  1. 如果从Windows的资源管理器中删除node_modules(拖到回收箱),因为文件巨多,速度会非常慢,而且在我电脑上还出现了权限的问题导致无法删除,因此使用rimraf来删除:

    npm install rimraf -g
    rimraf node_modules // 相当于rm -rf命令
    
上一篇下一篇

猜你喜欢

热点阅读