justyeh / nuxt.justyeh.top

Vue.js+Nuxt.js+Es6+Webpack+Mysql+Noyde.js+Express.js构建的SSR博客网站
162 stars 60 forks source link

plugins/axios下的问题 #8

Open nannan9507 opened 6 years ago

nannan9507 commented 6 years ago

很好奇原理,为什么plugins/axios设置以后, 在vue下,import axios from 'axios',应该是直接导入的应该是node_module下的axios 但是 却会执行到 暴露的plugins/axios,只是为什么啊?

justyeh commented 6 years ago

我刚刚用moment这个库做了个实验,plugins/moment.js

import * as moment from 'moment'
export default ({ app, store, redirect }) => {
    moment.defaultFormat = 'test'
} 

并给nuxt.config.js添加配置:

plugins: [
    { src: '~plugins/axios' },
    { src: '~plugins/moment' },
    { src: '~plugins/vue-notification', ssr: false }
  ]

然后在页面打印他的defaultFormat 属性,确实是“test”,但当我去掉这个配置后,打印的值是“YYYY-MM-DDTHH:mm:ssZ”

我没研究过源码,所以猜想当nuxt检测到配置文件中有相关内容时,会自动执行plugins中的相关代码,这样插件就是被“改变”的了,如果你还是有疑问,可以到官方的issue下面提问。