Rails webpacker出于某种原因总是认为NODE_ENV是生产的,尽管我使用`webpack-dev-server`并将NODE_ENV设置为开发

Wil*_*ung 5 ruby ruby-on-rails node.js webpack

作为标题,我使用的是docker ruby​​ 2.3.5(ubuntu)环境,尽管我已经设置了NODE_ENV =开发,当我试图拦截process.env.NODE_ENV我仍然看到生产的值时,我无法找到它已被覆盖的任何地方.它只发生在docker环境中但不在我的MacOS上,不确定是什么原因?

更新:这里是Dockerfile和docker-compose.yml供参考:https://gist.github.com/goodwill/b4e677ccf8fe0079183adeec35218812

更新:这是我在运行webpacker-dev-server时遇到的错误:

04:08:37 webpacker.1 | /app/config/webpack/development.js:20
04:08:37 webpacker.1 |     https: settings.dev_server.https,
04:08:37 webpacker.1 |                               ^
04:08:37 webpacker.1 | 
04:08:37 webpacker.1 | TypeError: Cannot read property 'https' of undefined
04:08:37 webpacker.1 |     at Object.<anonymous> (/app/config/webpack/development.js:20:31)
04:08:37 webpacker.1 |     at Module._compile (module.js:570:32)
04:08:37 webpacker.1 |     at Object.Module._extensions..js (module.js:579:10)
04:08:37 webpacker.1 |     at Module.load (module.js:487:32)
04:08:37 webpacker.1 |     at tryModuleLoad (module.js:446:12)
04:08:37 webpacker.1 |     at Function.Module._load (module.js:438:3)
04:08:37 webpacker.1 |     at Module.require (module.js:497:17)
04:08:37 webpacker.1 |     at require (internal/module.js:20:19)
04:08:37 webpacker.1 |     at requireConfig (/app/node_modules/webpack/bin/convert-argv.js:97:18)
04:08:37 webpacker.1 |     at /app/node_modules/webpack/bin/convert-argv.js:104:17
Run Code Online (Sandbox Code Playgroud)

小智 2

Docker 容器不会从本地环境收集环境变量。

在 Dockerfile 中设置环境变量。例如:

ENV NODE_ENV=development
Run Code Online (Sandbox Code Playgroud)

或者,您可以从命令行使用该环境变量运行容器:

$ docker run -e NODE_ENV=devlopment mycontainer
Run Code Online (Sandbox Code Playgroud)