如何为 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
解释一下我做错了什么?
我介绍的方法是正确的。
发生的错误是由于在客户端无法使用服务器端库造成的。
这是我的 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
解释一下我做错了什么?
我介绍的方法是正确的。
发生的错误是由于在客户端无法使用服务器端库造成的。