Как исключить код из производства во время сборки? - PullRequest
1 голос
/ 17 марта 2019

Как исключить машинописный код из комплекта веб-пакета во время сборки?

Например, у меня есть эта строка кода в app.ts (приложение nodejs):

const thisShouldNotBeInProductionBundleJustInDevBundle = 'aaaaaaa';

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

Ответы [ 2 ]

3 голосов
/ 17 марта 2019

В версии 4 веб-пакета вы можете установить mode: 'production' в конфигурации вашего веб-пакета. (https://webpack.js.org/concepts/mode/)

Итак, в вашем исходном коде вы можете использовать следующее:

if (process.env.NODE_ENV === 'development') {
    const thisShouldNotBeInProductionBundleJustInDevBundle = 'aaaaaaa';
    ...
}

В заключение весь код внутри if и ifs будет автоматически удален при сборке вашего пакета

1 голос
/ 17 марта 2019

Webpack имеет настройку mode, которая позволяет переключаться между разработкой и производственными сборками .

. В своем коде вы можете использовать process.env.NODE_ENV, чтобы узнать, находитесь ли вы впроизводственный или нет, Webpack использует это свойство для устранения «мертвого кода производства»:

 // declare variable everywhere to prevent unresolvable variable references
 let onlyInDev = "";

 // The following should be shaken away by webpack
 if(process.env.NODE_ENV === "development") {
   onlyInDev = "test";
 }

Если значение является конфиденциальной информацией, которая не должна быть передана в вашу производственную сборку, я буду искать ее в комплектечтобы убедиться, что он не протекает при изменении трубопровода здания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...