使用 Terser 缩小时,有没有办法防止源文件名传播到 webpack 输出?
例子
在.js
我缩小的生产 React 应用程序生成的输出文件中,我仍然在输出中看到未损坏的源文件名。
示例摘录:
[...]
({"../js/dashboard/lib/MyApiClient.js":function(e,t,n){"use
strict";n.r(t),n.d(t,"default",function(){return c});var
o=n("../node_modules/axios/index.js"),r=n.n(o),
s=n("../node_modules/@sentry/browser/esm/index.js");
[...]
你可以在这里看到一些东西:
- 我的专有代码有某种模块,称为
MyApiClient.js
- 我们正在使用
axios
和Sentry
Webpack 配置
这是我们生产 webpack 配置的相关部分:
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
sourceMap: true,
extractComments: false,
terserOptions: {
output: {
comments: false,
},
},
}),
],
},
问题
我担心这是泄漏有关我们应用程序内部结构的信息,而且我还没有在堆栈中找到正确的位置(webpack 选项?更简洁的选项?)来防止它。
尽管上面的示例是良性的,当然,再多的修改也不会使代码无法对功能进行逆向工程,但我不想让其他人太容易理解应用程序的构建方式以及它可能隐藏的功能.
谢谢!