现在要使用 Google Chrome 扩展页面创建扩展,我们选择一个包含已创建扩展的目录并生成.crx
文件。
问题在于它包含该目录中的所有文件——例如,所有文档、资产草稿等。
是否可以创建一些黑名单来忽略指定的文件,例如*.psd, *.pdf, docs/* ...
?
现在要使用 Google Chrome 扩展页面创建扩展,我们选择一个包含已创建扩展的目录并生成.crx
文件。
问题在于它包含该目录中的所有文件——例如,所有文档、资产草稿等。
是否可以创建一些黑名单来忽略指定的文件,例如*.psd, *.pdf, docs/* ...
?
Chromium 团队决定不实施清单(或类似机制)来仅在 .CRX 中包含所需的文件。
推荐的工作流程是有一个构建步骤,仅输出目录中所需的文件dist
,并从该目录创建 CRX。这是JavaScript 库的常见做法。
我创建了一个.crxignore
自定义忽略文件,如下所示:
.*
Makefile
*.md
bin
它是为 zip 命令制作的!它不同于
.gitignore
. 您不能添加评论,例如!见文档:https ://linux.die.net/man/1/zip ,找--exclude
词。
现在您可以创建一个没有 ignred 文件的 zip:
$ zip -qr -9 -X .out/out.zip . -x@.crxignore
# ^^^^^^^^^^^^^ using ignore file
之后,我可以使用此 go 脚本转换zip
为文件: https ://github.com/mmadfox/go-crx3您必须使用命令构建它(您可能会丢失 mod 错误,但会有您必须执行的命令跑)。--> 你可以把你的移动到你想要的地方。例如:。crx
go build -o out/crx3 crx3/main.go
out/crx3
[project]/bin/crx3
我没试过,也许
chrome
命令也可以转换zip
为crx
.
您必须生成一个私钥:
$ bin/crx3 keygen .out/key.pem
Makefile
build:
rm -f .out/out.zip
zip -qr -9 -X .out/out.zip . -x@.crxignore
bin/crx3 pack .out/out.zip -p .out/key.pem -o .out/out.crx
构建过程:
$ make build
# --> build the .out/out.crx file
试试命令行程序“zip”,如果你在 Windows 上可以在 cygwin 中找到它,或者可能存在于 OSX 上,如果你使用的是 linux,它很容易安装。
zip package.zip -r * -x package.sh -x *.git* -x "*.*~" -x "*.pdf" docs/* "*.psd"