vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue cli使用iview自定义主题的坑

vue cli使用iview自定义主题遇到的坑及解决

作者:前端历劫之路

vue cli使用iview自定义主题遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue cli使用iview自定义主题遇到的坑

定制主题,这里讲变量覆盖

当你老老实实的把上面文档中的代码一一复制粘贴到项目文件中时,发现了还没装less,所以你就

npm install less –save 
npm install less-loader –save

结果呢

下面我们来解决他

我们找到项目根目录下build下的utils.js文件,把原来的(跟下面代码差不多)改成下面所示。

  return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less',{ javascriptEnabled: true }),
    sass: generateLoaders('sass', { indentedSyntax: true }),
    scss: generateLoaders('sass'),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')
  }

运行就ok了

iview主题定制化问题

1.项目中有需求:项目整体显示某个特定的颜色

2.使用 vue + iview

3.按照iview官网显示有两种方法,目前说第一种变量覆盖

4.按照官网的方法

如果你的项目使用了 webpack 工程,可以通过变量覆盖的方式来实现主题定制。

首先在项目中先建一个目录,比如 my-theme,然后在 my-theme 下建立一个 less 文件 index.less,并写入下面内容:

@import '~iview/src/styles/index.less';

// Here are the variables to cover, such as:
@primary-color: #8c0776;

5.然后在入口文件 main.js 内导入这个 less 文件即可:

import Vue from 'vue';
import iView from 'iview';
import '../my-theme/index.less';

Vue.use(iView);

写完之后我开始运行,然儿报错了

问题报错是模块解析失败,于是找度娘,显示是less的问题,less装的是3.0以上的,度娘说需要3.0以下的,于是安装2.7.3版本,发现还是不行,emmm…虽然好多说都可以,但是我这边还是不行,于是在找,发现vue.config.js中需要配置less

module.exports = {
  css: {
    // extract: true, // 是否使用css分离插件 ExtractTextPlugin
    // sourceMap: false, // 开启 CSS source maps?
    loaderOptions: {
        less: {
            javascriptEnabled: true //less 配置
        }
    }, // css预设器配置项
    modules: false // 启用 CSS modules for all css / pre-processor files.
	}
}

终于这次运行可以了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文