Nuxt 框架 使用 Nprogress 加载条


Nuxt 框架 使用 Nprogress 加载条


文章解析:

安装 nprogress

创建 router.js 插件

nuxt.config.js 配置 使用 router.js 插件


安装


npm install  nprogress --save

实例


创建 router.js 文件


import VueRouter from 'vue-router'
import Vue from 'vue'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

Vue.use(VueRouter)

/*全局配置 加载条*/ 
NProgress.configure({
  easing: 'ease-out-in',  // 动画方式
  speed: 700,  // 递增进度条的速度
  showSpinner: false, // 是否显示加载ico
  trickleSpeed: 200, // 自动递增间隔
  minimum: 0.3 // 初始化时的最小百分比
})

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
})

export default ({app}) => {
  app.router.afterEach((to, from, next) => {  
      console.log("start" + from.path)
      NProgress.start();
      next 
  })

  app.router.afterEach((to, form) => {
    console.log("end" + to.path)
    NProgress.done()
  });
}


修改样式


在入口文件 设置样式

<style>
	#nprogress .bar {
	  height: 2.5px !important; //进度条高度
	  background: rgba(255, 0, 0, 0.66) !important; //自定义颜色
	}
<style>

插件配置


修改 nuxt.config.js

plugins:[
  {src: '~/plugins/router.js', ssr: false},
 ]
### 如何在Nuxt.js框架使用自定义组件 #### 插件机制用于全局注册自定义组件 为了使自定义组件能够在整个应用程序范围内被访问,在应用根目录下编写插件是一种有效的方法[^1]。通过这种方式,可以确保像GreenSock或Scroll-Magic这样的库及其过渡效果可以在Vue组件(/components)以及页面组件(/pages)内轻松调用。 创建一个新的文件位于`plugins/`目录下,比如命名为`my-component.js`: ```javascript import Vue from 'vue' import MyComponent from '~/components/MyComponent.vue' Vue.component('MyComponent', MyComponent) ``` 接着,在`nuxt.config.js`配置文件里添加此插件到构建过程中: ```javascript export default { plugins: [ '~/plugins/my-component', ] } ``` 这样做的好处在于无需每次引入该组件时都重复声明一次,从而简化了开发流程并提高了代码的一致性和可维护性。 #### 使用 `nuxt-content` 组件展示动态内容 对于希望直接渲染Markdown或其他格式的内容而言,利用内置的`nuxt-content`模块能够极大地方便开发者处理富文本数据[^2]。一旦获取到了返回的内容对象之后,就可以很方便地将其body属性绑定至模板部分来呈现最终的效果。 假设已经安装好了相应的依赖包并且设置好路径映射,则只需要按照如下方式操作即可完成基本集成工作: ```html <template> <div> <!-- 假设content是从store或者其他异步请求获得的对象 --> <nuxt-content :document="content"/> </div> </template> <script> export default { data() { return { content: {} // 这里的content应该由实际的数据填充 } }, async fetch() { this.content = await this.$content('path/to/file').fetch() } } </script> ``` 上述方法不仅适用于静态站点生成场景下的文章编辑需求,同样也适合其他任何需要灵活管理非结构化信息的应用场合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值