У меня есть скрипт в nodejs с webpack, где я хочу использовать переменные окружения из docker-compose, но каждый раз, когда переменные равны undefined
.
, это маленький кусочек docker-compose:
container:
image: "node:8-alpine"
user: "node"
working_dir: /home/node/app
environment:
- NODE_ENV=development
volumes:
- ./project:/home/node/app
- ./conf:/home/node/conf
command: "yarn start"
У меня есть эта конфигурация веб-пакета:
const path = require('path');
const TerserPlugin = require('terser-webpack-plugin');
const DefinePlugin = require('webpack').DefinePlugin;
module.exports = {
entry: './src-js/widget.js',
mode: process.env.NODE_ENV || 'development',
output: {
filename: 'widget.js',
path: path.resolve(__dirname, 'public')
},
optimization: {
minimizer: [new TerserPlugin()]
},
plugins: [
new DefinePlugin({
ENV: JSON.stringify(process.env.NODE_ENV)
})
]
};
В своем скрипте узла я хотел бы использовать переменные NODE_ENV, поэтому я попробовал все эти решения, но каждый раз undefined
console.log(process.env.NODE_ENV);
console.log(ENV);
console.log(process.env); //is empty
Из контейнера докера я попытался напечатать переменные окружения, и внутри него есть NODE_ENV, но я не могу использовать его в файле узла.Почему?
Обычно я использую yarn build
или yarn watch
для перекомпиляции