W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在使用插件前,首先要在小程序管理后臺(tái)的“設(shè)置-第三方服務(wù)-插件管理”中添加插件。開發(fā)者可登錄小程序管理后臺(tái),通過 appid 查找插件并添加。如果插件無需申請,添加后可直接使用;否則需要申請并等待插件開發(fā)者通過后,方可在小程序中使用相應(yīng)的插件。
使用插件前,使用者要在 app.json 中聲明需要使用的插件,例如:
代碼示例:
{
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
如上例所示, plugins 定義段中可以包含多個(gè)插件聲明,每個(gè)插件聲明以一個(gè)使用者自定義的插件引用名作為標(biāo)識,并指明插件的 appid 和需要使用的版本號。其中,引用名(如上例中的 myPlugin)由使用者自定義,無需和插件開發(fā)者保持一致或與開發(fā)者協(xié)調(diào)。在后續(xù)的插件使用中,該引用名將被用于表示該插件。
如果插件只在一個(gè)分包內(nèi)用到,可以將插件僅放在這個(gè)分包內(nèi),例如:
{
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
],
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
]
}
在分包內(nèi)使用插件有如下限制:
使用插件時(shí),插件的代碼對于使用者來說是不可見的。為了正確使用插件,使用者應(yīng)查看插件詳情頁面中的“開發(fā)文檔”一節(jié),閱讀由插件開發(fā)者提供的插件開發(fā)文檔,通過文檔來明確插件提供的自定義組件、頁面名稱及提供的 js 接口規(guī)范等。
使用插件提供的自定義組件,和使用普通自定義組件的方式相仿。在 json 文件定義需要引入的自定義組件時(shí),使用 plugin:// 協(xié)議指明插件的引用名和自定義組件名,例如:
代碼示例:
{
"usingComponents": {
"hello-component": "plugin://myPlugin/hello-component"
}
}
出于對插件的保護(hù),插件提供的自定義組件在使用上有一定的限制:
插件的頁面從小程序基礎(chǔ)庫版本 2.1.0 開始支持。
需要跳轉(zhuǎn)到插件頁面時(shí),url 使用 plugin:// 前綴,形如 plugin://PLUGIN_NAME/PLUGIN_PAGE, 如:
代碼示例:
<navigator url="plugin://myPlugin/hello-page">
Go to pages/hello-page!
</navigator>
使用插件的 js 接口時(shí),可以使用 requirePlugin 方法。例如,插件提供一個(gè)名為 hello 的方法和一個(gè)名為 world 的變量,則可以像下面這樣調(diào)用:
var myPluginInterface = requirePlugin('myPlugin');
myPluginInterface.hello();
var myWorld = myPluginInterface.world;
從基礎(chǔ)庫 2.11.1 起,使用插件的小程序可以導(dǎo)出一些內(nèi)容,供插件獲取。具體來說,在聲明使用插件時(shí),可以通過 export 字段來指定一個(gè)文件,如:
{
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx",
"export": "index.js"
}
}
則該文件(上面的例子里是 index.js)導(dǎo)出的內(nèi)容可以被這個(gè)插件用全局函數(shù)獲得。例如,在上面的文件中,使用插件的小程序做了如下導(dǎo)出:
// index.js
module.exports = { whoami: 'Wechat MiniProgram' }
那么插件就可以獲得上面導(dǎo)出的內(nèi)容:
// plugin
requireMiniProgram().whoami // 'Wechat MiniProgram'
具體導(dǎo)出什么內(nèi)容,可以閱讀插件開發(fā)文檔,和插件的開發(fā)者做好約定。
當(dāng)插件在分包中時(shí),這個(gè)特性也可以使用,但指定的文件的路徑是相對于分包的。例如在 root: packageA 的分包中指定了 export: exports/plugin.js,那么被指定的文件在文件系統(tǒng)上應(yīng)該是 /packageA/exports/plugin.js。
使用的多個(gè)插件的導(dǎo)出互不影響,兩個(gè)插件可以導(dǎo)出同一個(gè)文件,也可以是不同的文件。但導(dǎo)出同一個(gè)文件時(shí),如果一個(gè)插件對導(dǎo)出內(nèi)容做了修改,那么另一個(gè)插件也會(huì)被影響,請注意這一點(diǎn)。
請謹(jǐn)慎導(dǎo)出 wx 對象或某個(gè)具體的 wx API,這將使插件可以以使用者小程序的身份調(diào)用 API。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: