如何为 Nuxt.js 创建插件?

How to create plugin for Nuxt.js?

这是我的 rpc.js 插件文件:

const { createBitcoinRpc } = require('@carnesen/bitcoin-rpc')

const protocol = 'http'
const rpcuser = 'root'
const rpcpassword = 'toor'
const host = '127.0.0.1'
const port = '43782'
const rpcHref = `${protocol}://${rpcuser}:${rpcpassword}@${host}:${port}/`
const bitcoinRpc = createBitcoinRpc(rpcHref)

export default ({ app }, inject) => {
  inject('bitcoinRpc', (method) =>
    bitcoinRpc(method).then((result) => console.log('That was easy!', result))
  )
}

这是我的 nuxt.config.js 文件:

...
plugins: [{ src: '@/plugins/gun.js' }, { src: '@/plugins/rpc.js' }],
...

如果我在组件方法中的某处调用 this.$bitcoinRpc('getnewaddress'),则会出现错误,但如果我在 rpc 插件本身内部调用此方法,那么一切都会按预期进行:

// plugins/rpc.js:
// Declare constants and inject above
...
bitcoinRpc('getnewaddress').then((result) =>
  console.log('That was easy!', result)
)

我在终端中得到了预期的结果:

That was easy! 2N8LyZKaZn5womvLKZG2b5wGfXw8URSMptq 14:11:21

解释一下我做错了什么?

我介绍的方法是正确的。

发生的错误是由于在客户端无法使用服务器端库造成的。