簡體   English   中英

避免命名函數調用的 Webpack 配置

[英]Webpack configuration that avoids named function calling

我想用磁盤空間來交換 webpack 中沒有命名函數的調用,以便我可以更輕松地進行語言分析。

但是 webpack' ing以下模塊,

  • index.js import foo.js; foo() import foo.js; foo()
    • foo.js import bar.js; console.log(bar()) console.log(bar()) console.log(bar()) import bar.js; console.log(bar()) console.log(bar()) console.log(bar())
      • bar.js return "THIS IS BAR!"

結果是:

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}))}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM