Можно ли написать кусок кода, который будет опущен в версии Prod - PullRequest
0 голосов
/ 25 октября 2018

Можно ли как-то "пометить" кусок кода, чтобы он был включен в режим "dev", но будет опущен в "prod".

Я знаю, что angular имеет:

if (isDevMode()) {...}

Но можно ли избежать проверки кода, также является ли он режимом разработки?

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Вы можете использовать инструмент сборки, такой как веб-пакет, и включать в него файлы на основе псевдонима в сочетании с NODE_ENV.NODE_ENV - это development в режиме разработки и production в процессе.

Самый простой способ - в вашем webpack.dev.config использовать псевдоним для загрузки файла dev и в webpack.prod.Конфиг загрузить производственный файл.

// dev module.exports = { //... resolve: { alias: { Something: path.resolve(__dirname, 'dev/foo/') } } }; // prod module.exports = { //... resolve: { alias: { Something: path.resolve(__dirname, 'prod/foo/') } } };

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

0 голосов
/ 25 октября 2018

Просто импортируйте файл окружения в ваш компонент:

import { environment } from './environments/environment';

и в вашем скрипте выполните:

if (!environment.production) {
  .....
}
0 голосов
/ 25 октября 2018

Единственное, что приходит на ум, - это использовать environment.ts для этого.

В вашем environment.dev.ts:

export const environment = {
    doSomething() {
       // Do your dev stuff here
    }
}

В вашем environment.prod.ts:

export const environment = {
    doSomething() {
        // Leave empty
    }
}

И в вашем компоненте / услуге / везде, где это вызывается из среды.Поскольку среда будет заменена, код разработчика будет включен только в ваш комплект разработчика.

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