小编Adr*_*nde的帖子

缺少'secret_token`和`secret_key_base`用于'生产'环境

我看到了这个解决方案的所有答案,但没有为我工作.

1 - 我的配置部署与DigitalOcean(Capistrano 3,Nginx和Puma)的本教程相同,部署成功,我的网页出错:

发生了未处理的低级错误.应用程序日志可能包含详细信息

在日志中:

机架应用程序错误:#<RuntimeError:缺少secret_tokensecret_key_base'生产'环境,请在config/secrets.yml>中设置这些值

2 - 在我的Droplet或VPN中,我使用rake secret文件中的key()创建了变量./bashrc

export SECRET_KEY_BASE=XXXXXX
Run Code Online (Sandbox Code Playgroud)

文件 /config/secrets.yml是默认的

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)

有了这个env变量,我检查了比这工作(echo $SECRET_KEY_BASEprintenv | grep SECRET_KEY_BASE)

3 - 重新启动Puma和Nginx并且此错误未解决后,我不知道检查或调试此错误的最佳方法是什么.

是否本教程不使用此解决方案的工作?

deployment capistrano ruby-on-rails nginx environment-variables

5
推荐指数
1
解决办法
3411
查看次数

如何在 Vue.js 或 Nuxt.js 中的 First Contentful Paint 或第一个元素之后加载组件?

我的目标是使用 Vue.js 或 Nuxt.js的First Contentful Paint 的最佳解决方案

我认为最好的解决方案是在加载第一个元素后使用 import 加载组件。

我不知道是否是最好的解决方案,我想听听您的意见。

什么是最好的编码方式?

试:

文件是加载的app.js,怎么只加载一次我设置的true

开发工具

<template>
  <h1>Hello World</h1>

  <!-- First content here -->

  <foo v-if="documentLoaded" />
</template>

Run Code Online (Sandbox Code Playgroud)
mounted() {
  document.onreadystatechange = () => {
    if (document.readyState == "complete") {
      console.log('Page completed with image and files!')

      setTimeout(() => {
        this.documentLoaded = true
      }, 2000);

    }
  }
},
components: {
  Foo: () => import(/* webpackChunkName: "component-foo" */ '~/components/foo')
}
Run Code Online (Sandbox Code Playgroud)

javascript single-page-application vue.js nuxt.js

5
推荐指数
1
解决办法
3071
查看次数