簡體   English   中英

如何獲取“ firebase deploy --only functions”命令以在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM