小编Jim*_*ong的帖子

如何使用React Router HistoryLocation配置Nginx?

我目前正在使用Nginx作为反向代理并为我的静态资产提供服务.我使用的是React Router的HashLocation设置,因为它是默认设置,它允许我刷新路由而没有任何问题,也不需要任何其他配置,但使用该设置的问题是url有/#/ prepending的必要性我的路线(例如http://example-app.com/#/signup).

我现在正在尝试切换到React Router的HistoryLocation设置,但我无法弄清楚如何正确配置Nginx以便为所有路由提供index.html(例如http://example-app.com/signup).

这是我最初的nginx设置(不包括我的mime.types文件):

nginx.conf

# The maximum number of connections for Nginx is calculated by:
# max_clients = worker_processes * worker_connections
worker_processes auto;

# Process needs to run in foreground within container    
daemon off;

events {
  worker_connections 1024;
}

http {
  # Hide nginx version information.
  server_tokens off;

  # Define the MIME types for files.
  include       /etc/nginx/mime.types;

  # Update charset_types due to updated mime.types
  charset_types
    text/xml
    text/plain 
    text/vnd.wap.wml
    application/x-javascript
    application/rss+xml
    text/css
    application/javascript
    application/json; …
Run Code Online (Sandbox Code Playgroud)

post nginx html5-history reactjs react-router

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

如何在Go中获取切片的基础数组?

假设我有以下长度为3的整数:

nums := [3]int{1,2,3}

然后我抓住前两个项目的切片

numSlice := nums[:2]

cap在两种情况下调用numSlice和nums都会产生3,并len分别产生2和3.

如果我然后附加到slice(numSlice = append(numSlice, 10)),nums则现在是底层数组()[1 2 10].cap两者都保持为3,因为切片的底层数组是相同的,而切片的len现在是3.

但是,如果我再次附加到该切片(numSlice = append(numSlice, 20)),则切片的基础数组必须更改 - 我们看到cap现在已经为numSlice加倍并且len现在为4.

对于过于简单的解释感到抱歉,只是自己走过去,但有人可以向我解释底层阵列发生了什么,以及如何获得对新阵列的引用?

arrays go slice

15
推荐指数
2
解决办法
3991
查看次数

React Native:如何测试元素是否聚焦?

简单的测试用例:想要查看给定元素是否获得焦点。

要检查某个元素是否专注于带有 RTL 和 jest 的 React Web 应用程序,您有两个简单的选项可供选择:

  1. 您可以检查该元素是否与 document.activeElement 相同(可能必须丢弃一些包装器)
  2. 您可以使用https://github.com/testing-library/jest-dom#tohavefocus扩展您的笑话匹配器并使用expect(<element>).toHaveFocus()

我不确定 React Native 的等效检查是什么(相当于 jest-dom 扩展的 RN 是https://github.com/testing-library/jest-native并且明显缺少toHaveFocus匹配器)。

javascript reactjs react-native react-testing-library react-native-testing-library

9
推荐指数
1
解决办法
3102
查看次数

在Docker容器中使用bcrypt的ELF头文件或安装问题

有点像,但是有任何人在linux容器(特别是docker)中使用bcrypt并且知道自动化的解决方法有什么问题吗?我和这两个问题有同样的问题:

AWSBox上具有节点bcrypt的ELF标头无效

运行节点应用程序时bcrypt无效的elf标头

我的Dockerfile

# Pull base image
FROM node:0.12

# Expose port 8080
EXPOSE 8080

# Add current directory into path /data in image
ADD . /data

# Set working directory to /data
WORKDIR /data

# Install dependencies from package.json
RUN npm install --production

# Run index.js
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)

如果我已经在我的node_modules中安装了bcrypt,我会得到前面提到的无效ELF头错误,但是如果我将其删除(只是本身或我的所有包),在构建容器时由于某种原因没有安装它.我必须在构建后手动输入容器并将其安装在内部.

有自动化的解决方法吗?

或者,也许,只是,什么是一个很好的替代bcrypt与Node堆栈?

linux bcrypt node.js docker boot2docker

8
推荐指数
2
解决办法
2220
查看次数

Favicon不会显示,似乎是webpack的问题

我有一个React/Redux应用程序,我正在使用webpack来转换我的JSX和ES6,并将我的样式表和图像加载到我的JS中.我的开发服务器托管在端口3000上.

这是我的webpack.config.js:

var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  devtool: 'cheap-module-eval-source-map',
  entry: [
    'webpack-hot-middleware/client',
    './src/js'
  ],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/static/'
  },
  plugins: [
    new webpack.optimize.OccurenceOrderPlugin(),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin(),
    new HtmlWebpackPlugin({
      favicon: 'src/images/favicon.ico'
    })
  ],
  module: {
    loaders: [{
      test: /\.js$/,
      loaders: [ 'babel' ],
      exclude: /node_modules/,
      include: __dirname
    }, {
      test: /\.less?$/,
      loaders: [ 'style', 'css', 'less' ],
      include: __dirname
    },
    {
      test: /\.(otf|eot|svg|ttf|woff|woff2)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
      loaders: [ …
Run Code Online (Sandbox Code Playgroud)

html javascript favicon frontend webpack

8
推荐指数
1
解决办法
6374
查看次数

如何在docker容器中使用nginx提供静态文件?

我正在使用boot2docker,因为我正在运行Mac OSX.我无法弄清楚如何使用在docker容器中运行的nginx来提供静态文件(它还包含静态资产,如我的html和js).

我有四个docker容器用这个docker-compose.yml旋转:

web:
   build: ./public
   links: 
     - nodeapi1:nodeapi1
   ports:
     - "80:80"

nodeapi1:
   build: ./api
   links:
     - redis
     - db
   ports:
     - "5000:5000"
   volumes:
     - ./api:/data

redis:
   image: redis:latest
   ports:
     - "6379:6379"

db:
   image: postgres:latest
   environment:
     POSTGRES_USER: root
   ports:
     - "5432:5432"
Run Code Online (Sandbox Code Playgroud)

这是我的nginx.conf:

worker_processes auto;

daemon off;

events {
  worker_connections 1024;
}

http {
  server_tokens off;
  upstream node-app {
    ip_hash;
    server 192.168.59.103:5000;
  }
  server {
    listen 80;
    index index.html;
    root /var/www;

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { …
Run Code Online (Sandbox Code Playgroud)

static nginx docker

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

如何将.go文件编译到特定目录或gitignore二进制文件?

现在,我将运行go build __.go,但是我想知道是否可以在子目录(例如/bin文件夹)中建立该文件。这样做只会使gitignore二进制文件更加整洁,而现在我还不确定是否还有什么好的方法,因为我还在努力创建一个有效的gitignore异常规则,而不仅仅是“忽略所有文件, .go文件除外”。

我当前的解决方案是每次构建二进制文件时都将其命名(例如go build -o hello.bin hello.go),但这似乎很麻烦。

go

6
推荐指数
2
解决办法
6084
查看次数

ECS不会启动实例,"由于无法找到资源而无法执行任务".

我无法弄清楚为什么我的ecs服务不会启动,并且不断给出错误"服务因无法找到资源而无法执行任务".

在我的任务定义中,我有500个cpu单元专用和250个内存,只是一个非常小的样本节点应用程序,它只是提供我的静态资产.

我正在使用1个任务而不是ELB启动我的服务.

http amazon-web-services amazon-ecs docker

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

EC2 实例无法访问 elasticache

正如标题所暗示的,我正在努力通过我的 EC2 实例连接到我的 elasticache 实例。我有一个连接到我的 EC2 实例中的 redis 的 orm 只是在我的日志上失败了,所以我进入我的 EC2 实例尝试手动连接到 redis 实例并超时:

Could not connect to Redis at <redis uri>: Connection timed out

它们位于不同的 VPC(elasticache 实例和 EC2 实例)中,但在我的 elasticache 实例的安全组中,我在端口 6379 处有来自任何来源的自定义 TCP 入站规则。

呸。

tcp amazon-ec2 amazon-web-services redis amazon-elasticache

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

在 postgresql 中存储 24:00:00 以上时间的最佳方法?

我将 GTFS 提要存储到 SQL 数据库中,并且预计某些时间会存储在时间值的 24:00:00 上限之上。例如,一些列车在上午 12:30 运行,但被列为前几天服务,并且该运行时间在 GTFS 规范中存储为 24:30。

解决这个问题的最佳方法是什么?我应该将它存储为字符串吗?

sql postgresql gtfs

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

如何连接到AWS Elasticache?

有人可以一步一步地介绍如何连接到弹性疼痛。

我正在尝试从我的EC2实例内部(插入)连接到redis elasticache节点。每次都会出现“连接超时”错误,而且我无法弄清楚配置AWS设置的方式出了什么问题。

它们在不同的VPC中,但是在我的Elasticache VPC中,我在端口6379处有一个自定义TCP入站规则,可以从任何地方接受。两个VPC共享我建立的Active Peer连接。我还打算做什么?

编辑:

我正在尝试通过redis-cli命令进行连接。因为我的EC2实例托管一个节点服务器,所以我最初是尝试通过node-redis模块进行连接的。所以正式地,我的两次尝试是1.一个脚本化模块和2. 2. AWS文档中提供的redis-cli命令。

据我所知,我还根据此正确设置了路由表:http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html#route-tables-vpc-peering

amazon-web-services redis amazon-elasticache

3
推荐指数
1
解决办法
2095
查看次数

Python Flask服务器运行两次-无法找出导致它重启的原因

每当我运行python脚本时,它都会重新加载并因此两次运行脚本的内容。

这是一个Flask应用程序,我具有Debug = True,但给我的印象是,如果我重新保存文件(我没有这样做),它将仅重新启动服务器。是否可以更改此行为?删除Debug = True设置后,它将立即停止,但理想情况下,我希望暂时可以启用它。

我的基本run.py文件:

from flask import Flask

app = Flask(__name__)
app.config.update(
  # DEBUG = True
)

if (__name__):
  app.run()
Run Code Online (Sandbox Code Playgroud)

python flask

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