vue的UI框架 —— vux 的安装和使用

用npm安装vux

<1>. 在项目里安装vux

npm install vux --save

<2>. 安装vux-loader (这个vux文档似乎没介绍,当初没安装结果报了一堆错误)

npm install vux-loader --save-dev

<3>. 安装less-loader (这个是用以正确编译less源码,否则会出现 ' Cannot GET / ')

npm install less less-loader --save-dev

<4>. 安装yaml-loader (以正确进行语言文件读取, 我没安装似乎也没报错)

npm install yaml-loader --save-dev

<5>. 在build/webpack.base.conf.js 文件进行配置

const vuxLoader = require('vux-loader')
const webpackConfig = originalConfig
// 原来的 module.exports 代码赋值给变量 webpackConfig,
//将原来的module.exports 改为 const webpackConfig
module.exports = vuxLoader.merge(webpackConfig, { plugins: ['vux-ui'] })

<6>最后别忘了,在resolve: {
extensions: ['.js', '.vue', '.json','.less']里加入.less。

完整的webpack.base.conf.js 内容如下:

'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
 
function resolve (dir) {
  return path.join(__dirname, '..', dir)
}
const vuxLoader = require('vux-loader')
const webpackConfig  = {
  entry: {
    app: './src/main.js'
  },
  output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath
  },
  resolve: {
    extensions: ['.js', '.vue', '.json','.less'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
    }
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: vueLoaderConfig
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test')]
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[hash:7].[ext]')
        }
      },
      {
        test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('media/[name].[hash:7].[ext]')
        }
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
        }
      }
    ]
  }
}
module.exports = vuxLoader.merge(webpackConfig, { plugins: ['vux-ui'] })



main.js 中添加全局引用

import {ToastPlugin,LoadingPlugin,AlertPlugin} from 'vux'
Vue.use(VueAwesomeSwiper)
Vue.use(ToastPlugin)
Vue.use(LoadingPlugin)
Vue.use(AlertPlugin)

或者这样:

import { Toast, Loading} from 'vux'
Vue.component(Toast.name, Toast);
Vue.component(Loading.name, Loading);

常见错误,如果报 $t 错误,只需要把代码里所有 $t 删掉即可

去自定义组件里使用
created() {
    let that = this;
    that.$vux.loading.show({
      text: '载入中...'
    });
    setTimeout(() => {
      that.getRoles(); // 请求接口
    }, 500);
    setTimeout(() => {
      that.$vux.loading.hide();  //关闭 loading
    }, 5000);
  }

你可能感兴趣的:(vue的UI框架 —— vux 的安装和使用)