[如果要在一个插件内部注入上下文,并想在另一个插件内部使用该功能,则需要确保要注入的插件首先位于nuxt.config.js
内部
...
plugins: [
'~/plugins/bugsnag.js',
'~/plugins/axios.js'
],
...
我正在尝试在plugins/axios.js
中使用bugsnagClient及其notify方法,在plugins/bugsnag.js
中有此代码
import Vue from "vue"
import bugsnag from "@bugsnag/js"
import bugsnagVue from "@bugsnag/plugin-vue"
// const bugsnagClient = bugsnag(`${process.env.BUGSNAG_API_KEY}`)
var bugsnagClient = bugsnag({
apiKey: "",
notifyReleaseStages: ["production"]
})
bugsnagClient.use(bugsnagVue, Vue)
我想将方法附加到app
或context
为>>
export default ({ app }, inject) => { function bugsnagNotify(error) { return bugsnagClient.notify(new Error(error)) } // Set the function directly on the context.app object app.bugsnagNotify = bugsnagNotify }
而且我想在
plugins/axios.js
中使用它>export default function({ store, app }) { if (store.getters.token) { console.log(app.bugsnagNotify("ss")) app.$axios.setToken(store.getters.token, "Bearer") } else { //app.$bugsnag.notify(new Error("Bearer tooken is missing in Axios request.")) } }
在此文件中,当我仅为
app
执行console.log时>我可以看到
bugsnagNotify: ƒ bugsnagNotify(error)
但是当我打电话给
app.bugsnagNotify("error")
时,只会出现诸如VM73165:37 TypeError: app.bugsnagNotify is not a function
之类的错误>我也在
plugins/bugsnag.js
中尝试过此操作
export default (ctx, inject) => { inject('bugsnag', bugsnagClient) }
我只有一个错误,
app.$bugsnag.notify(new Error("Bearer tooken is missing in Axios request."))
[我正在尝试在plugins / axios.js中使用bugsnagClient及其通知方法。我在plugins / bugsnag.js中具有此代码。从“ vue”导入Vue。从“ @ bugsnag / js”导入bugsnag。 。
[如果要在一个插件内部注入上下文,并想在另一个插件内部使用该功能,则需要确保要注入的插件首先位于
nuxt.config.js
内部... plugins: [ '~/plugins/bugsnag.js', '~/plugins/axios.js' ], ...
[如果要在一个插件内部注入上下文,并想在另一个插件内部使用该功能,则需要确保要注入的插件首先位于nuxt.config.js
内部
...
plugins: [
'~/plugins/bugsnag.js',
'~/plugins/axios.js'
],
...