您好,
出于安全原因(不应访问数据库),我应该在 ./launcher bootstrap 应用中跳过 [bundle exec rake assets:precompile] 过程。
我刚刚编辑了 web-template 以跳过此步骤,discourse 确实成功执行了。但是,页面显示为空白,资产文件似乎存在问题,错误如下:
discourse-details.js:1 加载资源失败:服务器响应状态为 404 ()
discourse-local-dates.js:1 加载资源失败:服务器响应状态为 404 ()
discourse-presence.js:1 加载资源失败:服务器响应状态为 404 ()
discourse-narrative-bot.js:1 加载资源失败:服务器响应状态为 404 ()
docker_manager.js:1 加载资源失败:服务器响应状态为 404 ()
lazy-yt.js:1 加载资源失败:服务器响应状态为 404 ()
poll.js:1 加载资源失败:服务器响应状态为 404 ()
discourse-presence.js:1 加载资源失败:服务器响应状态为 404 ()
docker_manager.js:1 加载资源失败:服务器响应状态为 404 ()
lazy-yt.js:1 加载资源失败:服务器响应状态为 404 ()
poll.js:1 加载资源失败:服务器响应状态为 404 ()
参考:Rake assets:precompile without database
我们将主题存储在数据库中(在管理 UI 中编辑),因此 CSS 位于 PostgreSQL 中,这意味着在构建时需要数据库连接才能预编译这些资源。
因此,我尝试在同一个数据库的非安全区域成功执行了“预编译”,运行效果良好。我确认数据库中已成功保存了主题和 CSS。
我连接到“未预编译”的服务器(使用同一个数据库),但无法获取 CSS、JS 和主题文件。
我想将非安全区域的资产文件复制粘贴到目标区域服务器。我应该将文件粘贴到哪个目录?或者还需要做其他操作吗?
或者,是否有办法在跳过“预编译”的情况下获取资产(主题、CSS、JS 等)?
期待您的尽快回复。谢谢。