如何将动态 Ruby 嵌入到 webpacker.yml 配置文件中以设置服务器主机?
How do I embed dynamic Ruby into webpacker.yml configuration file for setting the server host?
我需要从移动设备 phone 测试应用程序,文件被签入 Git 其他开发人员访问它的地方。如何将主机名动态设置为服务器的 IP 地址?我试过了
webpacker.yml
development:
dev_server:
host: <%= Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address %>
报错
Error: getaddrinfo ENOTFOUND <%= Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address %>
我尝试将文件重命名为 webpackager.yml.erb
但出现错误
Webpack dev_server configuration not found in .../config/webpacker.yml.
我 运行 进入同一问题并在 webpacker.yml
中嵌入 Ruby 似乎不可能。
但是,在开发模式下,您可以通过环境变量覆盖 webpack-dev-server
配置值。示例:
WEBPACKER_DEV_SERVER_HOST=example.com ./bin/webpack-dev-server
如果您使用的是Foreman,请将命令添加到相关的Procfile
,例如:
webpack: WEBPACKER_DEV_SERVER_HOST=0.0.0.0 ./bin/webpack-dev-server
web: rails s -b 0.0.0.0
更具体地说,对于您的情况,类似于:
WEBPACK_DEV_SERVER_HOST=$(ruby -e "require 'socket'; Socket.ip_address_list.detect{|intf| intf.ipv4_private?}.inspect_sockaddr") ./bin/webpack-dev-server
参考文献:
我需要从移动设备 phone 测试应用程序,文件被签入 Git 其他开发人员访问它的地方。如何将主机名动态设置为服务器的 IP 地址?我试过了
webpacker.yml
development:
dev_server:
host: <%= Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address %>
报错
Error: getaddrinfo ENOTFOUND <%= Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }.ip_address %>
我尝试将文件重命名为 webpackager.yml.erb
但出现错误
Webpack dev_server configuration not found in .../config/webpacker.yml.
我 运行 进入同一问题并在 webpacker.yml
中嵌入 Ruby 似乎不可能。
但是,在开发模式下,您可以通过环境变量覆盖 webpack-dev-server
配置值。示例:
WEBPACKER_DEV_SERVER_HOST=example.com ./bin/webpack-dev-server
如果您使用的是Foreman,请将命令添加到相关的Procfile
,例如:
webpack: WEBPACKER_DEV_SERVER_HOST=0.0.0.0 ./bin/webpack-dev-server
web: rails s -b 0.0.0.0
更具体地说,对于您的情况,类似于:
WEBPACK_DEV_SERVER_HOST=$(ruby -e "require 'socket'; Socket.ip_address_list.detect{|intf| intf.ipv4_private?}.inspect_sockaddr") ./bin/webpack-dev-server
参考文献: