在 FireBase Deploy 之前混淆 JS
obfuscate JS before FireBase Deploy
我已经开始使用 Firebase 托管我在 js 中构建的应用程序。
我希望能够在将 java 脚本代码部署到 FireBase 之前混淆它。
我找不到使用 firebase 自动执行此操作的方法,所以我下载了闭包编译器,并开始编写一个 deploy.bat 批处理文件,它将....
- 将我的所有代码和资产从我的 public 文件夹复制到部署文件夹
- 混淆 JS
- 将站点部署到 Firebase。
但是现在我发现您不能为开发本地托管提供单独的文件夹,例如(public - 使用模拟器)和另一个文件夹,用于存放应该部署到 firebase 的内容。
谁能建议我如何解决这个问题?
您可以将文件夹拆分为“开发”和“生产”版本。但是,应注意确保您的测试通过生产版本和开发版本。
以下文件夹结构将允许通过调用 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
中,合并到这里以获得 firebase deploy
如果从 project/dev
内部意外调用则故意崩溃:
"hosting": {
"predeploy": "node -e \"process.exit(1)\""
}
在 project/dev/package.json
中合并,这样您的代码就 built/obfuscated 进入 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",
}
我已经开始使用 Firebase 托管我在 js 中构建的应用程序。 我希望能够在将 java 脚本代码部署到 FireBase 之前混淆它。
我找不到使用 firebase 自动执行此操作的方法,所以我下载了闭包编译器,并开始编写一个 deploy.bat 批处理文件,它将....
- 将我的所有代码和资产从我的 public 文件夹复制到部署文件夹
- 混淆 JS
- 将站点部署到 Firebase。
但是现在我发现您不能为开发本地托管提供单独的文件夹,例如(public - 使用模拟器)和另一个文件夹,用于存放应该部署到 firebase 的内容。
谁能建议我如何解决这个问题?
您可以将文件夹拆分为“开发”和“生产”版本。但是,应注意确保您的测试通过生产版本和开发版本。
以下文件夹结构将允许通过调用 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
中,合并到这里以获得 firebase deploy
如果从 project/dev
内部意外调用则故意崩溃:
"hosting": {
"predeploy": "node -e \"process.exit(1)\""
}
在 project/dev/package.json
中合并,这样您的代码就 built/obfuscated 进入 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",
}