Cordova CLI、使用 Git 和保存插件/平台

10

我正在尝试弄清楚如何将一些 Cordova + git 的“最佳实践”与我认为的现实相协调,并希望有人能为我解惑。

如果我理解正确,当前的“最佳实践”是将这些目录添加到我的 .gitignore 中(来自书籍“使用 Cordova CLI 进行开发”的当前版本):

platforms/
plugins/
node_modules/

这样做可以将易于下载的插件和大部分样板平台代码从版本控制中删除,因为它们可以通过简单的Cordova CLI命令轻松生成。

但是,这似乎是违反直觉的,因为 - 我像NPM或Bower一样思考 - 使用Cordova CLI时,我无法保存我正在使用的平台和插件的配置文件。使用NPM,我可以添加--save开关将软件包保存在package.json文件中。这使我不必对我的node_modules文件夹进行版本控制,而可以使用“npm install”。但是,使用Cordova CLI时,我似乎无法使用--save开关(是否有相应的)来“记住”我打算使用的插件或平台。

看起来,在www/目录中的config.xml文件不会保存已添加哪些平台或插件。

项目中是否还有其他文件来记住我要使用哪些平台和插件?它是如何工作的?

2个回答

3
Cordova 4.3.0+ 能够保存和恢复平台和插件。保存的信息存储在 config.xml 文件中。请参见 v5.0.0 发布说明官方 Cordova 文档
您可以使用 --save 选项来保存平台和插件:
cordova platforms add PLATFORM --save
cordova plugins add PLUGIN --save

或者,您可以保存当前已添加的平台和插件:

cordova platforms save
cordova plugins save

通过这种方式,您无需将平台或插件检入代码仓库。当运行cordova prepare命令时,它们将根据您的config.xml文件自动还原。

2
我通常编写钩子来捕获我想在项目中使用的插件。您可以在我写的文章中看到此内容:http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/ 随着 Cordova 3.x 的新模块化架构,每个应用程序都需要插件,即使是使用基本功能,如日志记录或地理位置。不要记录项目需要哪些插件/功能并要求每个新开发人员安装它们,而是使用 after_platform_add 步骤中的钩子自动下载和安装它们。使用此插件,每当开发人员检出项目并添加平台时,他们就会自动拥有所需的插件。
您也可能对跟随此错误感兴趣,该错误建议 npm 样式的 --save 功能:https://issues.apache.org/jira/browse/CB-5775 平台有点更难,因为它们不适合钩子架构,但是您可以编写一个 shell 脚本,以便执行以添加您的平台。
#!/bin/sh
for plat in ios android; do
   cordova platform add $plat
done

您可以使用在node_modules中安装的cordova版本执行类似的操作(至少我认为您正在node_modules中安装cordova) - 编写shell脚本以获取正确的cordova版本:

#!/bin/sh
VERSION=3.3.1-0.4.2
npm install cordova@$VERSION

很高兴你喜欢这本书!


谢谢!这个钩子有些作用。在Windows 7上运行命令cordova platform add android时会出现错误。运行命令:cmd args=["/c","C:\Program Files\nodejs\node.exe","C:\path\Dev\GitHub\app\.cordova\hook s\before_platform_ls\010_install_plugins.js","C:\path\Dev\GitHub\app"] “'C:\Program'”不是内部或外部命令,也不是可运行的批处理文件。 钩子失败,错误代码为1:节点但是,我可以仅使用node \path\to\hook.js直接运行.js文件,并且没有错误。 我不确定发生了什么… - runlevelsix
乍一看,命令行解释器在尝试执行node时似乎不喜欢“Program Files”中的空格。我建议尝试在c:\node或类似位置安装node.js,看看是否仍然会出现该错误。 - mooreds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接