在Webpacker react app中读取Rails加密的凭据

问题描述

使用.env文件,可以很容易地将变量注入webpacker js包中。从5.2开始,您可以使用加密的机密,但是有一种方法可以读取(解密)它们,然后在webpacker构建时注入其中的一部分?

解决方法

您可以从凭据中读取并将该值传递给Webpacker。

  1. 创建一个config/initializers/webpacker.rb文件。

  2. 通过上面的文件将其传递到Webpacker::Compiler

    Webpacker::Compiler.env['VALUE'] = Rails.application.credentials.dig(:value)
    
  3. 将其读取为console.log(process.env.VALUE)

  4. 如果要在development上尝试,则需要将它们添加到bin/webpack-dev-server

    require_relative '../config/application'
    Rails.application.initialize!
    

来源: