[英]Firebase CLI deploy Error: There was an error reading functions/package.json
[英]How can I get “firebase deploy --only functions” command to use the package.json in the functions/ directory?
我已經有了Firebase / Angular應用程序的標准應用程序結構。
- functions/
|--- index.ts
|--- package.json
- src/
|--- app/
| |--- (angular stuff)
|--- index.html
|--- ...
- package.json
- firebase.json
問題是,當我運行firebase deploy --only functions
,我在已經定義了預先部署掛鈎firebase.json
,由內而外都稱為root/
目錄下,而不是從內部root/functions/
目錄。
例如,在root/package.json
中,
{
"name": "functions",
"scripts": {
"echo": "echo 'hello1'"
},
...
}
但是在root/functions/package.json
中
{
"name": "functions",
"scripts": {
"echo": "echo 'hello2'"
},
...
}
在我的firebase.json
文件中
{
...
"functions": {
"predeploy": [
"npm run echo"
]
},
無論我是在root/
還是root/functions
,當我運行firebase deploy --only functions
我會得到hello1
當我運行deploy --only functions
時,如何配置Firebase工具以使用來自functions/
的配置(即package.json
內容)?
根據Firebase Typescript文檔 ,似乎最好的方法是按照以下方式指定predeploy
掛鈎:
{
"functions": {
"predeploy": "npm --prefix functions run build",
}
}
這從functions
目錄內部調用npm run build
,因此它將在functions/package.json
而不是項目根目錄的package.json
調用build
腳本package.json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.