小编Con*_*sea的帖子

如何将Instant转换为LocalTime?

即使在阅读了大量教程之后,我也不是真正了解Temporal Adjusters或Java的新时间库.

如何将Instant对象转换为LocalTime对象.我正在思考以下几点:

LocalTime time = LocalTime.of(
        instantStart.get(ChronoField.HOUR_OF_DAY),
        instantStart.get(ChronoField.MINUTE_OF_HOUR)
    );
Run Code Online (Sandbox Code Playgroud)

但它没有用.我该怎么做?

java datetime java-8

14
推荐指数
1
解决办法
9954
查看次数

如何在使用Auth0 Lock时管理后端用户?

我正在使用React创建一个前端,并使用Node创建后端.我想使用Auth0 Lock管理用户信息- 向API发送带有每个请求的JWT.

如果我需要做以下事情之一怎么办?

  • 存储带有作者ID的博客文章

Auth0唯一标识符user_id不是整数,因此不能用作ID /密钥.我如何在服务器端用户存储上处理这个问题?

  • 有一个用户表来存储"个人资料"或其他类似信息

我是否在每个API请求上阅读JWT,确定该用户是否存在,然后创建新用户(如果不存在),或者将其与预先存在的用户相关联.在每个API请求上检查用户数据库是否有效?

我不确定如何使用基于JWT的API和Auth0处理一般流程.

编辑:

经过一番研究和反思后我的想法:Auth0的唯一用户标识符由他们提供user_id.这里的问题是它不是整数.因此,它不应该用作users数据库中表的键.

看起来好像你不应该在每个请求上检查用户数据库,但这可能是不正确的.一个想法是在初始登录时回调到后端,如果该帐户不存在,则创建它,如果该帐户存在,则继续.然后在用户登录前端后,在每个后续请求中信任Auth0 JWT(如果它在后端验证).

从我在网上看到的这个过程的极少描述来看,我所描述的方式似乎是正常的方式.但在某些情况下它没有意义.如果用户被禁止怎么办?他们仍然可以使用活动的JWT访问服务器功能,直到它由于时间过期而到期.

因此,如果在每个API请求上检查用户存储是正常/高效的,那么如何将Auth0的字符串id user_id与数据存储区中的整数ID相关联以进行查询?我正在使用SQL变体.

javascript node.js jwt reactjs auth0

12
推荐指数
1
解决办法
1926
查看次数

Pure-CSS网格默认代码不起作用

使用Pure网格,我的网站没有正确响应,所以我尝试将默认的响应式网格代码复制并粘贴到我的文件中,但仍然无法正常运行.

这是他们网站上列出的默认代码:

<div class="pure-g">
    <div class="pure-u-1 pure-u-md-1-3"> ... </div>
    <div class="pure-u-1 pure-u-md-1-3"> ... </div>
    <div class="pure-u-1 pure-u-md-1-3"> ... </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的完整代码可以在这里找到.W¯¯ 母鸡在浏览器中查看下面的代码,所述三组点的出现,就好像它们被堆叠在彼此的顶部,或者在100%列的宽度.从每个类列表中删除"pure-u-1"显示它们就好像这些点都非常小而且彼此叠加,字面上(不像块一样堆叠,因为你只能看到一组点).

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>B&W Vending</title>

    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">
</head>

<body>

<div class="pure-g">
    <div class="pure-u-1 pure-u-md-1-3"> ... </div>
    <div class="pure-u-1 pure-u-md-1-3"> ... </div>
    <div class="pure-u-1 pure-u-md-1-3"> ... </div>
</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css yui-pure-css

6
推荐指数
1
解决办法
2770
查看次数

React Router更改参数不会触发componentWillRecieveProps

问题:更改<Route />组件的参数不会更新它正在呈现的组件.路径更改显示在URL栏中,但直接呈现{this.props.match.params.id}显示旧:idURL而不是URL栏中反映的新值.

更新:我通过将<BrowserRouter />index.js文件中的out移出到App.js文件中来解决此问题.它不再是Provider的直接子节点,而是App组件的子节点.不知道为什么这会让一切都突然发挥作用.

我在做什么:我有一个<Link to="/user/11" />user/7(或任何当前的ID)到a/user/11

componentWillReceiveProps(newProps)它呈现不发射,该成分(此元件使用连接react-redux有没有什么帮助任何.我试图将withRouter周围的连接,并没有帮助)

如果我在chrome中手动刷新页面(使用CTRL-R或刷新按钮),页面将显示新数据,呈现"新"参数.

TLDR:从切换/user/7/user/11不会触发该componentWillRecieveProps功能,从而使组件显示旧状态

问题:我在这里做错了什么导致componentWillReceiveProps不开火.

我正在使用react-router v4和最新的create-react-app

这是我的CWRP功能:

componentWillReceiveProps(newProps) {
  console.log("getProps")

  this.props.getUser(newProps.match.params.id)

  if (newProps.match.params.id == newProps.currentUser.id) {
    this.setState({ user: "currentUser" })
  } else {
    this.setState({ user: "selectedUser" })
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的组件的完整代码:https://gist.github.com/Connorelsea/c5c14e7c54994292bef2852475fc6b43

我在这里遵循解决方案,它似乎对我不起作用.路径参数更改时,组件不会重新装入

javascript reactjs react-router redux react-router-v4

6
推荐指数
1
解决办法
629
查看次数

使用样式组件会导致“无法读取未定义的 withConfig”

当尝试转换文件时,即使看似在其他文件中成功导入并使用(以相同的方式),也会Spacing.js导致未定义的导入。styled-components即使删除 styled-components babel 插件,也会出现类似的错误。

.babelrc

{
  "presets": [["es2015", { "modules": false }], "react-native"],
  "plugins": [
    ["styled-components", { "displayName": true }],
    "react-hot-loader/babel",
    "react-native-web",
    "transform-decorators-legacy",
    "transform-class-properties"
  ],
  "env": {
    "production": {
      "plugins": [
        "transform-react-inline-elements",
        "transform-react-constant-elements"
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Spacing.js- 转译前的代码

import React, { Component, Node } from "React";
import styled from "styled-components";

type Props = {
  size: string,
  color: string,
  fullWidth?: boolean
};

class SpacingComponent extends Component<Props> {
  render(): Node {
    const { size, color, fullWidth …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs webpack babeljs styled-components

6
推荐指数
1
解决办法
8248
查看次数

Xampp和Ampps在更改时不会重新加载文件

当我更改目录中的文件时,更改不会反映在我通过localhost访问它时显示的网页上,但是当我直接通过系统上的文件路径访问它时会显示更改.为什么?

我在Windows机器上.我的文件存储在C:\ Program Files(x86)\ Ampps\www\connor.dev中.当我直接引用文件时,通过在浏览器中找到这样的链接,文件:/// C:/ Program%20Files%20(x86)/Ampps/www/connor.dev/index.php,更改I制作并保存在Sublime Text中.当我通过访问localhost/connor.dev /访问它时,不会显示更改.即使我完全删除了该文件,它仍然显示在localhost中.这最近在xampp上开始发生,所以我卸载了它并使用了Ampps,现在发生了同样的事情.如果您需要更多信息,请询问.

html apache xampp

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

JavaScript错误未显示在控制台中?

fields在以下代码中未定义,但在发生错误时它不会记录到控制台.在这个具体的例子中,为什么以及实际处理这个问题的方法是什么?

"Testing"记录到控制台(第2行),但未报告未定义的变量fields(第4行).错误在API响应(第5行)中返回,但没有相关信息,如行#,堆栈跟踪等.

如何将此日志中的错误发送到控制台,为什么不是?

export function post(req, res) {
  console.log("Testing")
  User.create( getFields(req, ["name_first", "name_last"]) )
    .then(user =>  respondJSON (res, fields, { status: 201 }))
    .catch(err => respondError (res, err))
}
Run Code Online (Sandbox Code Playgroud)

由于catch响应错误,我得到以下API响应:

{
  "error": true,
  "data": {
    "message": "fields is not defined"
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Babel 6和babel-node通过NPM脚本运行我的代码.我也在使用摩根伐木.删除用于记录的中间件不会改变错误输出.

javascript node.js express ecmascript-6

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

合并后删除的好习惯?如果删除,我如何跟踪合并历史记录?

我的伙伴和我正在制作一个个人项目,在我们去的时候制作分支,并在功能完成时将它们合并回主人.但合并,然后删除分支,使其成为日志上的一条直线(见图),这对于跟踪历史似乎不好.作为一个团队,我们应该做些什么,并在删除分支之前跟踪历史记录?

在删除分支之前登录SmartGit

git github smartgit

4
推荐指数
1
解决办法
163
查看次数

如何让Google停止在PassportJS中自动登录用户?

我只允许用户使用某个域名登录.此特定功能有效,而不是问题的根源.问题是,当用户尝试使用不正确的电子邮件地址登录时,会陷入某种负面反馈循环.

可视化描述登录过程的图像

参考上面的图片,用户(在没有信息的空白隐身页面中)从第一步开始.单击登录会将他们带到第二步,然后再到第3步.尝试使用以不正确的域结尾的电子邮件地址登录会使他们进入步骤4.这是必需的.

在第四步之后,如果他们退出网站,则会显示第一步.这是可取的.注销的代码如下.

app.get("/logout", function(req, res) {
    req.logout()
    req.session.destroy()
    res.clearCookie("connect.sid")
    res.redirect("/")
})
Run Code Online (Sandbox Code Playgroud)

再次点击登录后会发生什么是不可取的.而不是将它们带回到第2步(期望,所以他们可以使用他们的CORRECT电子邮件地址再次登录),而是将它们直接带到第4步.好像Google记得最后登录的是谁.

这是我的passport.js配置文件代码.

简短问题:我如何向Google发出不要这样做的信号?或者触发浏览器允许他们再次登录?我很茫然.

额外详细信息:GoogleOauth2.0文档中,它提到了hd和realm,它可以限制登录到某个域.但我不知道如何在PassportJS配置文件中配置它.

javascript oauth node.js google-oauth passport.js

4
推荐指数
1
解决办法
893
查看次数

如何在npm脚本中使用nodemon来构建和启动脚本?

"scripts": {
  "build": "babel src -d lib",
  "start": "node --use_strict ./lib/index.js",
  "watch": "nodemon lib/index.js --exec npm run build"
}
Run Code Online (Sandbox Code Playgroud)

使用该命令会npm run watch导致运行以下错误命令:[nodemon] starting "npm lib/index.js run build"

我如何编写一个nodemon命令,在重新加载时,使用babel转换代码并重新加载代码?

javascript babel node.js npm nodemon

4
推荐指数
2
解决办法
6906
查看次数