如何解决将Webpack与模块一起使用时,如何通过Terser重命名顶级功能?
我正在使用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 举报,一经查实,本站将立刻删除。