静态资源
静态资源使用
Plasmo
可以加载静态资源, 比如 图片、字体、二进制的 WASM 、或者其他的文件。
Plasmo
提供了几种机制加载这些资源。
内联加载
最简单的方式,是把资源文件的数据作为 Base64 的对象方式加载。
示例中展示了,如何 base64 方式的加载图片
import someCoolImage from "data-base64:~assets/some-cool-image.png"
...
<img src={someCoolImage} alt="Some pretty cool image" />
tip
这里需要注意下关于 ~ 的解释。
网络资源加载
通过 修改 package.json 在 manifest 中定义允许的资源,主要集中在 web_accessible_resources 的配置内容
"manifest": {
"web_accessible_resources": [
{
"resources": [
"~raw.js",
"assets/pic*.png",
"resources/test.json"
],
"matches": [
"https://www.plasmo.com/*"
]
}
],
}
以上列出的文件,都会被复制到 扩展的文件目录中。 url 可以使用 chrome.getURL获取。 各种路径都是相对于 package.json 同级的目录。
以上列出的三种路径:
- raw.js 会在默认的根目录
- assets/pic*.png 会复制为 assets 目录
- resources/test.json 会复制为 resources 目录。
官方示例: with-web-accessible-resources
运行时加载资源
同时, web_accessible_resources 中定义的 资源,都可以通过运行时加载。 比如:
wasmPackage.localWASMPath("/assets/wasm/");
加载来自 node_modules 中的资源
有时需要加载 node_modules 中的资源,也需要在 web_accessible_resources 定义。
"manifest": {
"web_accessible_resources": [
{
"resources": [
"@inboxsdk/core/pageWorld.js",
"@inboxsdk/core/background.js"
],
"matches": [
"https://mail.google.com/*"
]
}
]
}
参考示例: with-inbox-sdk
tip
inboxsdk是一个开发 Gmail
扩展的综合工具包。
扩展图标 (icon)
Plasmo
会自动把你的图标,缩小。所以,对于多个版本的图标,用户提供较大的即可。
扩展图标路径: assets/icon.png。
当然,如果你对不同大小的图标做了设计也可以按照如下的方式命名。
icon512 | icon-512 | icon-512x512 | icon1024 | icon-1024 | icon-1024x1024 |
---|
tip
保证你的 图标文件在 assets 目录,并且 后缀名为 .png 的 png 文件。
开发模式的图标
开发模式下,Plasmo
会自动把你的扩展图标变为灰色,已区分开正常的模式。
自定义开发者图标
如果你不喜欢灰色的图标,你也可以保存为 assets/icon.development.png
来作为开发模式图标。