我在 Heroku 上有一个使用create-react-app. 就在今天,我使用 Heroku 的自动(-ish)SSL 证书流程 ExpeditedSSL 获得了 SSL 证书,然后文档建议将所有 http 请求重新路由到 https。
我有一个 server.js 文件并表示我只是为了尝试运行中间件,然后为我的 React 应用程序提供服务。
我知道 SSL 证书正在工作,就像我去https://myapp.com我看到我的 Heroku 应用程序一样,但是当我去http://myapp.com 时它没有重定向到我的 Heroku 应用程序的 https 版本。
我solutions今天从 StackOverflow、Google 和其他地方尝试了很多很多,但没有一个解决方案对我有用。我也没有任何错误。它只是不起作用。
尝试使用https library:
const https = require("https");
const express = require('express');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
https.createServer(app).listen(3000);
Run Code Online (Sandbox Code Playgroud)
另一种尝试使用heroku-ssl-redirect:
var sslRedirect = require('heroku-ssl-redirect');
var express = require('express');
var …Run Code Online (Sandbox Code Playgroud) 我正在使用"编程凤凰"这本书学习凤凰.第一个项目创建了一个postgres数据库,这是我们的迁移.我无法摆脱模式中时间戳的警告.
defmodule Rumbl.Repo.Migrations.CreateUser do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :username, :string, null: false
add :password_hash, :string
timestamps
end
create unique_index(:users, [:username])
end
end
Run Code Online (Sandbox Code Playgroud)
那么我们对应这个迁移的模型是:
defmodule Rumbl.User do
use Rumbl.Web, :model
schema "users" do
field :name, :string
field :username, :string
field :password, :string, virtual: true
field :password_hash, :string
timestamps
end
end
Run Code Online (Sandbox Code Playgroud)
现在我运行迁移,然后是mix phoenix.server.
我收到这个警告:
warning: variable "timestamps" does not exist and is being expanded to "timestamps()",
please use parentheses to remove the …Run Code Online (Sandbox Code Playgroud) 首先,我在Windows 10中开发.我vcvarsall.bat amd64在每次编译之前运行.我在用:
Elixir 1.4.2
凤凰城v1.2.1
我开始了一个全新的项目,制作了一个用户表,一切都运行良好.我添加了comeonin哈希pw,我不能再创建用户.我得到一个错误页面说:
function Comeonin.Bcrypt.hashpwsalt/1 is undefined (module Comeonin.Bcrypt is not available)
以下是相关文件的代码:
Mix.exs
# mix.exs
...
def application do
[mod: {PollarAppV2, []},
applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,
:phoenix_ecto, :postgrex, :comeonin, :timex]]
end
...
defp deps do
[{:phoenix, "~> 1.2.1"},
{:phoenix_pubsub, "~> 1.0"},
{:phoenix_ecto, "~> 3.0"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.6"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:gettext, "~> 0.11"},
{:cowboy, "~> 1.0"},
{:comeonin, "~> 3.0"},
{:timex, "~> 3.0"}]
end
...
Run Code Online (Sandbox Code Playgroud)
User.ex …
我正在尝试在Elixir中开发一个简单的POC,它需要在地图中存储信息.问题是我无法弄清楚如何将地图显示为按值排序的列表.
defmodule MapUpdater do
def update_score(map, player, :double), do: Map.update(map, player, 2, &(&1 * 2))
def update_score(map, player, :halve), do: Map.update(map, player, .5, &(&1 * 0.5))
def update_score(map, player, :penalize), do: Map.update(map, player, -1, &(&1 - 1))
def view_scores(map, :top), do: Map.to_list(map) |> Enum.sort_by(???)
def view_scores(map, :bottom), do: Map.to_list(map) |> Enum.sort_by(???)
end
Run Code Online (Sandbox Code Playgroud)
我试过了:
Enum.sort_by(&(elem(&1, 1)) > &(elem(&2, 1)))
Run Code Online (Sandbox Code Playgroud)
以及这方面的任何变化,但一遍又一遍地阅读文档对我没有帮助.有什么建议?