问题描述
我正在使用webpack 4将一系列具有导入/导出功能的TypeScript文件捆绑到一个bundle.js中。然后,我尝试使用Terser混淆最终输出。我得到了有效的输出,但是,Webpack输出的是我代码中最初的顶级功能,而这种方式使Terser拒绝修改功能名称。
任何想法如何使Terser重命名这些函数,或者如何使webpack不使用下面的 webpack_require 行输出,这似乎是通过使我的函数成为对象上的方法来完成Terser的。
function setCommands() {
//My original function here. Looking to have "setCommands" get renamed for obfuscation.
}
//Terser appears not to mangle the above name due to the below code...
//How can I obfuscate with this via Terser or get webpack to not output this?
//Other stuff created by webpack for bundle.js output
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__,"setCommands",function() { return _panelUI__WEBPACK_IMPORTED_MODULE_16__["setCommands"]; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__,function() { return setCommands; });
参考:webpack.config.js文件...
const path = require('path');
module.exports = {
mode: 'none',entry: './src/js/startHere.ts',devtool: 'source-map',output: {
filename: '../dist/bundled.js',path: path.resolve(__dirname,'./'),},watch: true,resolve: {
extensions: ['.ts','.tsx','.js'],module: {
rules: [
{
test: /\.ts(x?)$/,enforce: 'pre',exclude: /node_modules/,use: 'tslint-loader',{
test: /\.ts(x?)$/,use: 'ts-loader',{
test: /\.css$/,use: ['style-loader','css-loader'],],performance: {
//suppress yellow errors about file size.
hints: 'warning',maxEntrypointSize: 3000000,maxAssetSize: 3000000,};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)