创建没有指定文件的Google Chrome扩展程序包

时间:2013-08-30 10:43:52

标签: google-chrome-extension

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

问题是它包含此目录中的所有文件 - 例如,所有文档,资产草稿等。

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

3 个答案:

答案 0 :(得分:3)

Chromium团队决定not to implement a manifest (or similar mechanism) for including only the desired files in a .CRX

建议的工作流程是使构建步骤仅输出dist目录中的所需文件,并从该目录创建CRX。这是common practice for JavaScript libraries

答案 1 :(得分:0)

我的解决方案

我创建了一个 .crxignore 自定义忽略文件,如下所示:

.*
Makefile
*.md
bin
<块引用>

它是为 zip 命令制作的!它不同于.gitignore。您不能添加评论,例如!请参阅文档: https://linux.die.net/man/1/zip ,查找 --exclude 字。

现在您可以创建一个没有忽略文件的 zip:

$ zip -qr -9 -X .out/out.zip . -x@.crxignore
#                              ^^^^^^^^^^^^^ using ignore file

之后,我可以使用以下 go 脚本将 zip 转换为 crx 文件:https://github.com/mmadfox/go-crx3 您必须使用 go build -o out/crx3 crx3/main.go 命令构建它(您可能会丢失 mod 错误,但会有你必须运行的命令)。 --> 您可以将 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

答案 2 :(得分:-1)

尝试使用命令行程序&#34; zip&#34;如果您在Windows上,或者可能存在于OSX上,可以在cygwin中找到,并且如果您正在使用,则可以轻松安装Linux操作系统。

zip package.zip -r * -x package.sh -x *.git* -x "*.*~" -x "*.pdf" docs/* "*.psd"