「web安全漏洞」前端源代码泄漏

Posted by 汪洋龙 on Saturday, May 6, 2023

默认 npm run build 执行打包会生成 .js.map 文件。

为了防止源码被还原,解决方案如下:

1. 通过设置 script

...
  "scripts": {
    "dev": "craco start",
    "start": "craco start",
    "build-darwin": "export GENERATE_SOURCEMAP=false && craco build",
    "build-win32": "set GENERATE_SOURCEMAP=false && craco build",
    "test": "craco test",
    "eject": "react-scripts eject",
    "lint": "eslint src --ext .js,.ts --cache --fix",
    "prepare": "husky install"
  },
...

因为 windowslinux/macOS 操作系统不同,需要 setexport 适配,有些麻烦。

2. 通过 CRA 高级设置

在根目录创建 .env,设置 GENERATE_SOURCEMAP 属性为 false。参考 CRA 高级设置

GENERATE_SOURCEMAP = false