electron 使用.env构建电子产品

nzrxty8p  于 12个月前  发布在  Electron
关注(0)|答案(1)|浏览(154)

我正在用firebase做一个电子应用,我用了一个环境变量来隐藏API键,但是在构建的时候无法识别。
经确认,在不使用环境变量的情况下,将APIkey创建为字符串后进行构建时,它可以正常工作。
是否有包含.env文件的构建选项?

index.js

import { config } from "dotenv";

config();

const firebaseConfig: FirebaseOptions = {
  apiKey: process.env.FIREBASE_API_KEY,
  projectId: process.env.FIREBASE_PROJECT_ID,
  databaseURL: process.env.FIREBASE_DATABASE_URL,
};

字符串

package.json

"build": {
    "productName": "NB",
    "appId": "com.nb.electron",
    "asar": true,
    "mac": {
      "target": [
        "default"
      ],
      "icon": "build/icons/icon.icns"
    },
    "dmg": {
      "title": "NB",
      "icon": "build/icons/icon.icns"
    },
    "win": {
      "target": [
        "nsis"
      ],
      "icon": "build/icons/icon.ico"
    },
    "nsis": {
      "oneClick": false,
      "allowToChangeInstallationDirectory": false,
      "createDesktopShortcut": true,
      "perMachine": true,
      "language": 1042,
      "installerIcon": "build/icons/icon.ico",
      "shortcutName": "NB",
      "artifactName": "NB-${version}.${ext}",
      "uninstallDisplayName": "NB"
    },
    "directories": {
      "buildResources": "./build/",
      "output": "./dist/"
    }
  },

7tofc5zh

7tofc5zh1#

通过在构建脚本中添加此字段,您将能够将.env放在构建的根文件夹中。但它将暴露给将安装您的构建的用户。这种方法并不完美,但它工作正常。

"extraFiles": [
  {
    "from": ".env",
    "to": "."
  }
]

字符串

相关问题