可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I use Cordova 5.0.0 and i have the following project structure:
MyProject
- hooks
- platforms
- plugins
- resources
- www
- config.xml
My question now is: Which of these folders can I omit? I ask it because I work on three different platforms. I Develop on linux for android, windows for windows phone and on mac for ios. If I commit the whole project I always get warnings and error for the not supported platforms.
What I want is a minimalistic git repository.
One problem for example are the plugins. When I delete the plugin folder from the repository I have to add them on each of my developing platform manually.
Another problem is the resources folder. I automatically generate icons and splashscreens using ionic. When I now try to build the project on ios, it is complaining about the images for android.
So what do I need and what can I omit?
回答1:
You can ignore the platforms and plugins directories as long as you haven't added any custom code in them.
When adding plugins and platforms add --save to the command. e.g.
cordova platform add ios@3.8.0 --save
or
cordova plugin add cordova-plugin-device --save
This will save a record of the plugins and platforms you use to your config.xml file. When you run cordova prepare
or cordova build
all of your plugins and platforms listed in config.xml will be installed if they haven't been already.
You can also specify a platform in prepare and build. So if you are on your Mac, you can check out the git repository and run cordova prepare ios
to install just the ios platform and plugins.
回答2:
It depends on the platforms.
You can use this example of .gitignore and customize according to your needs.
# Mac
.DS_Store
# iOS
platforms/ios/build/
platforms/ios/www/
platforms/ios/cordova/console.log
*.xcuserdatad
# android
platforms/android/assets/www
platforms/android/bin
platforms/android/gen
platforms/android/local.properties
platforms/android/ant-build
platforms/android/ant-gen
platforms/android/CordovaLib/ant-build
platforms/android/CordovaLib/ant-gen
platforms/android/CordovaLib/bin
platforms/android/CordovaLib/gen
platforms/android/CordovaLib/local.properties
# wp8
platforms/wp8/bin
platforms/wp8/obj
platforms/wp8/www
platforms/wp8/.staging
platforms/wp8/*.suo
platforms/wp8/*.csproj.user
# res
resources/signing
回答3:
You can save platform and plugin afterwards by using following commands.
platform mass saving
$ cordova platform save
Plugins mass saving
$ cordova plugin save
Kindly note that there is no -- in above commands
One More thing, after fetching repo on another machine you just run following command to generate and fetch plugins and platforms automatically
$ cordova prepare
For more reference visit the links below.
https://cordova.apache.org/docs/en/latest/platform_plugin_versioning_ref/#mass-saving-platforms-on-an-existing-project
Cordova Tip: Always refer to official docs before before anything else to get the right solution.
回答4:
I don't know the answer, but I've found something that might help. This pull request was approved.
Here's the file :
# Mac
.DS_Store
# Node
npm-debug.log
/node_modules
# Cordova
/platforms
/plugins
# res
resources/signing
回答5:
Most of the other answers are 2/3 years old.
2019 Update:
# remove extension less files
*
!/**/
!*.*
# intermediate files
node_modules/
build/
obj/
Debug/
bin/
package-lock.json
.vs
.gradle
.idea
*.exe
# res
**/resources/signing
# project specific
**/dist/
**/all.min.js
# ========== Cordova - platforms
# android
# platforms/android/app/src/main/assets
# platforms/android/app/src/main/AndroidManifest.xml
# platforms/android/app/src/main/res/drawable-*
# platforms/android/app/src/main/res/mipmap-*
# platforms/android/app/src/main/res/xml/config.xml
# browser
# platforms/browser/app/src/main/assets
# platforms/browser/config.xml
# platforms/browser/www
#
# ========== Cordova - plugins - remove all except json & xml
# plugins/**/.DS_Store
# plugins/**/*.cs
# plugins/**/*.h
# plugins/**/*.java
# plugins/**/*.js
# plugins/**/*.m
# plugins/**/*.map
# plugins/**/*.md
# plugins/**/*.modulemap
# plugins/**/*.ts
# plugins/**/LICENSE
# plugins/**/NOTICE
# plugins/**/*.gradle
# plugins/**/tests/
As you can see I commented most of the lines ( all lines starting with # ).
This is because I ran into issues with plugin version changes, and decided to know what is happening with plugin updates.
Essentially all platform & plugin files are included in commit, now my life is peaceful.
2019:
I stated with this.
After developing & publishing the app, it became below:
(If you deviate from below, comment below, we can learn from each other)
# remove extension less files
*
!/**/
!*.*
# intermediate files
node_modules/
build/
obj/
Debug/
bin/
package-lock.json
.vs
.gradle
.idea
*.exe
# Cordova - platforms
platforms
# Cordova - plugins - remove all except json & xml
plugins/**/.DS_Store
plugins/**/*.cs
plugins/**/*.h
plugins/**/*.java
plugins/**/*.js
plugins/**/*.m
plugins/**/*.map
plugins/**/*.md
plugins/**/*.modulemap
plugins/**/*.ts
plugins/**/LICENSE
plugins/**/NOTICE
plugins/**/*.gradle
plugins/**/tests/
# res
**/resources/signing
# project specific
**/dist/
**/all.min.js
回答6:
I followed these steps:
create cordova project
add platforms
add plugins
Before build project, I commit and push generated files. After I build project and check for new files generated. I got these to add in .gitignore:
/platforms/android/gradlew.bat
/platforms/android/build
/platforms/android/gradle
/platforms/android/libs
/platforms/android/gradlew.bat
/platforms/android/CordovaLib/build
/platforms/android/.gradle
回答7:
I add to the Niko list :
# IntelliJ IDEA files
*.iml
.idea
#windows
Thumbs.db
Desktop.ini
and
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt