详解如何在你的Vue项目配置vux

  'use strict'

  const path = require('path')

  const utils = require('http://www.jb51.net/article/utils')

  const config = require('http://www.jb51.net/config')

  const vuxLoader = require('vux-loader')

  const vueLoaderConfig = require('http://www.jb51.net/article/vue-loader.conf')

  function resolve (dir) {

  return path.join(__dirname, '..', dir)

  }

  const webpackConfig = {

  context: path.resolve(__dirname, 'http://www.jb51.net/'),

  entry: {

  app: 'http://www.jb51.net/article/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']

  })