2

现在要使用 Google Chrome 扩展页面创建扩展,我们选择一个包含已创建扩展的目录并生成.crx文件。

问题在于它包含该目录中的所有文件——例如,所有文档、资产草稿等。

是否可以创建一些黑名单来忽略指定的文件,例如*.psd, *.pdf, docs/* ...

4

3 回答 3

3

Chromium 团队决定不实施清单(或类似机制)来仅在 .CRX 中包含所需的文件

推荐的工作流程是有一个构建步骤,仅输出目录中所需的文件dist,并从该目录创建 CRX。这是JavaScript 库的常见做法

于 2015-09-01T01:25:31.003 回答
0

我的解决方案

我创建了一个.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 错误,但会有您必须执行的命令跑)。--> 你可以把你的移动到你想要的地方。例如:。crxgo build -o out/crx3 crx3/main.goout/crx3[project]/bin/crx3

我没试过,也许chrome命令也可以转换zipcrx.

您必须生成一个私钥:

$ 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
于 2021-06-20T08:00:34.870 回答
-1

试试命令行程序“zip”,如果你在 Windows 上可以在 cygwin 中找到它,或者可能存在于 OSX 上,如果你使用的是 linux,它很容易安装。

zip package.zip -r * -x package.sh -x *.git* -x "*.*~" -x "*.pdf" docs/* "*.psd"
于 2013-08-30T13:08:20.953 回答