javascript - 避免命名函数调用的 Webpack 配置
问题描述
我想用磁盘空间来交换 webpack 中没有命名函数调用,以便我可以更轻松地进行语言分析。
然而 webpack' ing以下模块,
- index.js
import foo.js; foo()
- foo.js
import bar.js; console.log(bar()) console.log(bar()) console.log(bar())
- bar.js
return "THIS IS BAR!"
- bar.js
- foo.js
结果是:
function bar() { return "THIS IS BAR!"; }
function foo() {
console.log(bar());
console.log(bar());
console.log(bar());
}
foo();
而且我要,
function foo() {
console.log((() => { return "THIS IS BAR!" })());
console.log((() => { return "THIS IS BAR!" })());
console.log((() => { return "THIS IS BAR!" })());
}
foo();
即使这会增加捆绑的空间。因为我想避免函数调用。
我怎样才能做到这一点?
到目前为止,我已经尝试了几条{ optimization: { ... } }
规则,但没有一条会导致预期的结果。
解决方案
您是否尝试过模式制作。使用当前设置。我可以看到欲望输出。
// foo.js
import bar from './bar'
export default function print() {
console.log(bar())
console.log(bar())
console.log(bar())
}
// bar.js
export default function bar() {
return "THIS IS TEST"
}
// webpack.config.js
const path = require('path');
module.exports = {
mode: "production",
entry: './src/foo.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'foo.bundle.js'
}
};
// 版本
“webpack”:“^4.42.0”,“webpack-cli”:“^3.3.11”
// 输出
([function(e,t,n){"use strict";function r(){console.log("THIS IS TEST"),console.log("THIS IS TEST"),console.log("THIS IS TEST")}n.r(t),n.d(t,"default",(function(){return r}))}]);
推荐阅读
- python - 如何在指定索引处创建一个掩码?
- visual-c++ - Visual Studio 2017 远程调试不起作用
- grails - 在 Grails 中使用数据库视图
- ios - Storyboard 不接受 UIView 的某些尺寸
- php - 如何只运行一次功能
- sparql - 想要从结果中删除没有标签的实体
- python-3.x - 似乎找不到请求标头的 requestID 参数的问题
- python-3.x - 如何在 Python 中设置 unrar 库的路径?
- excel-formula - +/- 方差的公式是什么
- python - 在 PyCharm 中记录到文件时出现 UnicodeEncodeError