我正在尝试将部署过程清理到Firebase,并且在将文件部署到主机时需要忽略除c
aka公用文件夹之外的所有文件。我相信可以通过Q
中的/dist
设置来完成,但除了手动指定所有文件之外,我不确定如何实现它。
示例ignore
:
firebase.json
答案 0 :(得分:5)
使用glob **
到ignore any file or folder in an arbitrary sub-directory。
然后,您可以使用dist
!dist
文件夹
所以你的firebase.json
文件看起来像是:
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "dist",
"ignore": [
"**",
"!dist/**"
],
"rewrites": [{
"source": "**",
"destination": "/index.html"
}
]
}
}
似乎新版本的firebase不允许使用上述方法,因此只需定义应忽略的文件夹:
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "dist",
"ignore": [
"**/node_modules/**",
"**/src/**",
"**/public/**"
],
"rewrites": [{
"source": "**",
"destination": "/index.html"
}
]
}
}
您可以使用Firebase控制台检查已部署的文件数量:
答案 1 :(得分:0)
ignore属性指定部署时要忽略的文件。它可以采用 glob 模式,就像 Git
处理.gitignore
一样。
以下是要忽略的文件的默认值:
"hosting": {
// ...
"ignore": [
"firebase.json", // the Firebase configuration file (this file)
"**/.*", // files with a leading period should be hidden from the system
"**/node_modules/**", // contains dependencies used to create your site but not run it
"**/someOtherFolder/**" // this is will exclude the folder with the name entered
"**someOtherFile**" // this will exclude that particular file
]
}
答案 2 :(得分:0)
!(pattern)
匹配与提供的任何模式都不匹配的任何内容。
*
仅匹配公共目录根目录中的文件和文件夹
{
"hosting": {
"public": "dist",
"ignore": ["**, !*"],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}