Конфигурация Webpack, которая позволяет избежать вызова именованных функций - PullRequest
0 голосов
/ 22 марта 2020

Я хочу обменять дисковое пространство на без именованной функции, вызывающей в веб-пакете, чтобы упростить анализ языка.

Однако веб-пакет ' 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!"

Результаты в:

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: { ... } }, но ни одно из них не приводит к желаемому результату.

1 Ответ

0 голосов
/ 22 марта 2020

Пробовали ли вы с режимом производства. С текущей настройкой. Я вижу вывод желаний.

// 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}))}]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...