zoukankan      html  css  js  c++  java
  • nuxt的配置

    nuxt项目配置

    1.在nuxt.config.js文件中配置

      

    1.1.build的配置

    // 通过执行命令nuxt build --analyze来启用查看编译构建结果
    
    build: {
         analyze: true
    },
    
    
    
    // 为 JS 和 Vue 文件设定自定义的 babel 配置。
    
    babel: {
          babelrc: false,
          cacheDirectory: undefined,
          presets: ['@nuxt/babel-preset-app']
    },

    1.2.css的配置

    // nuxt在这里配置全局的css样式,配置的样式文件默认的会在所有的页面引入。
    
    1.先安装    npm install --save-dev node-sass sass-loader
    
    
    2.在nuxt.config.js文件中配置全局样式文件
    
    css: [
         // 项目里要用的 CSS 文件
         '~assets/css/main.css',
    
         // 项目里要使用的 less 文件
         '~~assets/css/main.scss'
    ],

    1.3.head的配置

    // 可以在head标签里面配置一些自定义的meta标签,和style样式文件
    head: {
            meta: [
              { charset: 'utf-8' },
              { name: 'viewport', content: 'width=device-width, initial-scale=1' }
            ],
            link: [
              { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto' }
            ]
    }

    1.4.loading配置

    // 可以使用nuxt内置的加载进度条,也可以自定义样式。
    
    // 在组件中可以使用this.$nuxt.$loading.start()来开启进度条,通过this.$nuxt.$loading.finish()来关闭进度条,
    // 为了确保进度条运行没有问题,一个把它放在this.$nextTick(() => {}中执行
    mounted () { this.$nextTick(() => { this.$nuxt.$loading.start() setTimeout(() => this.$nuxt.$loading.finish(), 500) }) } // 页面切换的时候如果不想要进度条的话在nuxt.config.js中配置 module.exports = { loading: false }

    进度条样式的配置

    自定义加载组件我们可以在components目录下创建自己定义的进度条组件

     

    // 在nuxt.config.js中配置路径
    module.exports = {
      loading: '~/components/loading.vue'
    }

    进度条时长问题

    // 进度条进度的时间无法确定设置 duration 来部分解决这个问题,您可以预估需要多长时间完成。

    // 您可以通过将continuous设置为true来更改默认行为,然后在达到100%后,进度条将在duration时间内再次收缩回0%。

    // 当达到0%后仍未完成加载时,它将再次从0%开始增长到100%,这将重复直到加载完成。

    1.5.plugins属性的配置

    // 属性值可是数组可以使对象,是数组的话里面就是字符串形式的文件路径
    
        plugins: ['~/plugins/vue-inject.js'] plugins目录下的js文件
    
    
    // 对象形式的plugins
    
    plugins: [
            {
                src: '~/plugins/vue-inject.js',    // 是文件的路径
    
                mode: 'client'     // 表示只能在客户端使用,值为server表示服务端使用
            }
    ],
    
    
    // 文件中可以定义在所有的页面和asyncData函数中和store中可以访问的一段功能函数,可以是一段属性
    
    
    // 列如vue-inject.js文件中
    
    import Vue from 'vue'
    
    // 需要自定义一段方法或者属性,只能给所有的组件和页面使用
    
    Vue.prototype.$toast = string => alert('您输入的名字是' + string)
    
    
    
    // 这样的方法可以在页面和store(vuex)和asyncData中都可以使用
    
    export default ({ app }, inject) => {
        inject('getData', string => alert('获取的数据是' + string))
    }
    
    
    
    // 在组件和页面中使用
    
    this.$toast('小美')
    this.$getData('明天吃饭')

     1.7.router的配置和transition动画的配置

    // routeNameSplitter可以更改路由的路径格式
    
    router: {
        routeNameSplitter: '/'
    }
    
    
    // linkActiveClass 全局通过路由默认激活的类
    
    router: {
        linkActiveClass: 'active-link'
    }
    
    
    // linkExactActiveClass:路由默认精确的活动类
    
    router: {
        linkExactActiveClass: 'exact-active-link'
    }
    
    
    // linkPrefetchedClass:路由默认的预取类,默认是禁用
    router: {
        linkPrefetchedClass: 'nuxt-link-prefetched'
    }
    
    
    // transition动画的配置
    
    // 可以在全局css中定义动画的样式
    
    // 默认没有指定name名字的
    .page-enter-active, .page-leave-active {
      transition: opacity .5s;
    }
    .page-enter, .page-leave-active {
      opacity: 0;
    } 
    
    
    // 指定了name属性的动画
    .test-enter-active, .test-leave-active {
      transition: opacity .5s;
    }
    .test-enter, .test-leave-active {
      opacity: 0;
    }
    
    
    // 在切换页面需要动画的页面中指定
    
    transition: 'test'
    
    
    // 当动画为函数的话,可以判断路由从哪里来的从而加上动画
    transition (to, from) {
         return to.query.page = 'test'
    },
    
    
    // 在nuxt.config.js文件中配置可以在所有的页面切换使用
    transition: {
        name: 'test',
        mode: 'out-in'      // 指定动画的方式  
    }    
  • 相关阅读:
    Linux下sed,awk,grep,cut,find学习笔记
    Python文件处理(1)
    KMP详解
    Java引用详解
    解决安卓中页脚被输入法顶起的问题
    解决swfupload上传控件文件名中文乱码问题 三种方法 flash及最新版本11.8.800.168
    null id in entry (don't flush the Session after an exception occurs)
    HQL中的Like查询需要注意的地方
    spring mvc controller间跳转 重定向 传参
    node to traverse cannot be null!
  • 原文地址:https://www.cnblogs.com/zxuedong/p/12548959.html
Copyright © 2011-2022 走看看