Ясный способ определения глобальных констант с помощью веб-пакета и их использования из angular 1.x - PullRequest
0 голосов
/ 22 октября 2018

Я хотел бы построить свой угловой проект 1.x для разных сред (dev, test, prod).В настоящее время мы используем плагин "ngconstant", и этот плагин является очевидным способом достижения этого.

Поскольку мы перешли на веб-пакет, я ищу аналогичный способ в веб-пакете.

Как я могу добиться этого так, чтобы я писал только ОДИН webpack.config.js?

На самом деле, я представляю себе подобный способ:

package.json:

....
"scripts": {
    "build": "webpack --mode development --env.NODE_ENV=test",
    "build:prod": "webpack --mode production --env.NODE_ENV=prod",
    "build:watch": "webpack --watch",
    "dev": "webpack-dev-server --mode development --env.NODE_ENV=development --open",
    "eslint": "eslint",
    "lint": "eslint"
}
....

webpack.config.js:

const path = require('path');
var webpack = require('webpack')

module.exports = (env) => {

    "use strict";

    const nodeEnv = env.NODE_ENV || "development"

    return {
        .....
        plugins: [
            new webpack.DefinePlugin({
                // Dynamically access local environment variables based on the environment
                ENV: JSON.stringify(env),
                "process.env": {
                    // defaults the environment to development if not specified
                    "NODE_ENV": JSON.stringify(nodeEnv)
                }
            })
        ]
    };
};

Как загрузить файлы json для разных конфигураций?

Можно ли добиться этого с включенным no-process-env?

Как получить доступ к определенным глобальным константам из angular 1.x (из разных контроллеров, служб и т. Д.)?

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