nuxt.config.js 2.47 KB
const pkg = require('./package')
const nodeExternals = require('webpack-node-externals')
const config = require('config-lite')({
  config_basedir: __dirname,
  config_dir: 'config'
})

module.exports = {
  mode: 'universal',
  srcDir: 'views/',
  /*
  ** Headers of the page
  */
  head: {
    title: '借条100',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, viewport-fit=cover, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes' },
      { hid: 'description', name: 'description', content: pkg.description },
      {metaname: "x5-orientation", content: "portrait"}
    ],
    script: [
      { src: 'https://res.wx.qq.com/open/js/jweixin-1.2.0.js' }
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
      { rel: 'stylesheet', href: 'https://fonts.proxy.ustclug.org/css?family=Roboto:300,400,500,700|Material+Icons' }
    ]
  },

  /*
  ** Customize the progress-bar color
  */
  loading: { color: '#dabb84' },

  /*
  ** Global CSS
  */
  css: [
    'vuetify/src/stylus/main.styl',
    '@/assets/css/iconfont.css'
  ],
  // transition: {
  //   name: 'page',
  //   mode: 'out-in'
  // },
  /*
  ** Plugins to load before mounting the App
  */
  plugins: [
    '@/plugins/vuetify',
    '@/plugins/axiosToken'
  ],

  /*
  ** Nuxt.js modules
  */
  modules: [
    // Doc: https://github.com/nuxt-community/axios-module#usage
    '@nuxtjs/axios',
    ['nuxt-sass-resources-loader', ['@/assets/css/colors.scss', '@/assets/css/global.scss']],
  ],

  /*
  ** Axios module configuration
  */
  axios: {
    // See https://github.com/nuxt-community/axios-module#options
    baseURL: config.baseURL
  },
  router: {
    base: '/netiou/'
  },
  render: {
    resourceHints: false
  },
  /*
  ** Build configuration
  */
  build: {
    /*
    ** You can extend webpack config here
    */
    babel: {
      presets: ['vue-app', ['env', {
        "targets": {
          "browsers": ["last 2 versions", "safari >= 9"]
        }
      }]]
    },
    vendor: [
      'babel-polyfill'
    ],
    analyze: false,
    extend(config, ctx) {
      // Run ESLint on save
      if (ctx.isDev && ctx.isClient) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/
        })
      }
      if (ctx.isServer) {
        config.externals = [
          nodeExternals({
            whitelist: [/^vuetify/]
          })
        ]
      }
    }
  }
}