【问题标题】:obfuscate JS before FireBase Deploy在 FireBase Deploy 之前混淆 JS
【发布时间】:2021-01-09 05:38:12
【问题描述】:

我已经开始使用 Firebase 来托管我正在用 js 构建的应用程序。 我希望能够在将 java 脚本代码部署到 FireBase 之前对其进行混淆。

我找不到使用 firebase 自动执行此操作的方法,所以我下载了闭包编译器,并开始编写一个 deploy.bat 批处理文件......

  1. 将我的所有代码和资产从我的公用文件夹复制到部署文件夹
  2. 混淆 JS
  3. 将网站部署到 Firebase。

但是现在我发现你不能有单独的文件夹用于开发本地托管,例如(公共 - 使用模拟器)和另一个文件夹,用于部署到 firebase。

谁能建议我如何解决这个问题?

【问题讨论】:

  • 何必呢?你能详细说明为什么你需要混淆你的代码吗?

标签: firebase-hosting


【解决方案1】:

您可以将文件夹拆分为“开发”和“生产”版本。但是,应注意确保您的测试通过您的生产版本和开发版本。

以下文件夹结构将允许通过调用npm run build,然后从终端中的project/dev 文件夹中调用npm run deploy 来部署您的混淆代码。

- /project
  - /prod
    - .firebaserc
    - firebase.json
    - /public
      - ... (obfuscated files)
  - /dev
    - .firebaserc
    - firebase.json
    - package.json
    - /public
      - ... (source files)

project/dev/firebase.json 中,如果从project/dev 内部意外调用,则在此合并以使firebase deploy 故意崩溃:

"hosting": {
  "predeploy": "node -e \"process.exit(1)\""
}

project/dev/package.json 中,将其合并,以便将您的代码构建/混淆到project/prod 目录中:

"scripts": {
  "build": "npm run build-hosting && ...",
  "build-hosting": "INSERT-TOOL-HERE --srcDir ./public --outDir ../prod/public",
  "deploy": "npm run deploy-hosting && ...",
  "deploy-hosting": "pushd ../prod && firebase deploy --only hosting && popd",
}

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 2022-08-13
    • 2015-10-22
    • 1970-01-01
    相关资源
    最近更新 更多