vux是能够结合vue使用的一个微信端组件库,我一般用它来作简单的提示框、loading动画、confirm之类的功能。vux里面有不少很实用的功能,详细的能够去看官方文档。
我主要就记录一下vux的安装和大概使用方法。css
安装:html
//安装vux npm install vux --save //vux是基于vux-loader的,因此必需要安装这个,不然会报一大堆错 npm install vux-loader --save-dev //安装less,vux使用的是less npm install less less-loader --save-dev //这个我看别人的教程里面装了,我没装,也没报错,先记录在这里,若是之后报错的话能够把这个安装上试试 npm install yaml-loader --save-dev
全部的安装完成以后,须要进行一波配置:vue
在 build/webpack.base.conf.js 中:node
//官网上是这样写的 const vuxLoader = require('vux-loader') const webpackConfig = originalConfig // 原来的 module.exports 代码赋值给变量 webpackConfig module.exports = vuxLoader.merge(webpackConfig, { plugins: ['vux-ui'] })
具体的实例代码以下:webpack
const vuxLoader = require('vux-loader'); const webpackConfig = { context: path.resolve(__dirname, '../'), 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'], 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'), resolve('node_modules/webpack-dev-server/client')] }, { 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]') } }, { test: /\.scss$/, include:'/src/', loader: 'style-loader!css-loader!sass-loader', } ] }, node: { // prevent webpack from injecting useless setImmediate polyfill because Vue // source contains it (although only uses it if it's native). setImmediate: false, // prevent webpack from injecting mocks to Node native modules // that does not make sense for the client dgram: 'empty', fs: 'empty', net: 'empty', tls: 'empty', child_process: 'empty' } } module.exports = vuxLoader.merge(webpackConfig, { plugins: ['vux-ui'] })
在 main.js 中
参考官网提供的方法引入你所须要的组件,就能够愉快地使用它啦!web
//我通常是用plugin的方式引入,先引入,再use import {AlertPlugin,LoadingPlugin,ConfirmPlugin,ToastPlugin} from 'vux'; Vue.use(AlertPlugin); Vue.use(LoadingPlugin); Vue.use(ConfirmPlugin); Vue.use(ToastPlugin);
接下来在html代码中使用:npm
this.$vux.alert.show({ title: "提示", content: "哈哈哈" })
注意:使用的方法能够参考官方文档,写的很清楚。在使用过程当中没什么坑,安装的时候坑比较多。若是报错了,就看一下报错信息是否是提示有什么该装的东西没装,再安装一下就能够了。json