Я хотел бы построить свой угловой проект 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 (из разных контроллеров, служб и т. Д.)?