我正在使用docker构建我的react应用程序并将其部署在nginx中。
我在docker-compose.yml中设置了环境变量
version: '2'
services:
nginx:
container_name: ui
environment:
- HOST_IP_ADDRESS= xxx.xxx.xx.xx
build:
context: nginx/
ports:
- "80:80"
Run Code Online (Sandbox Code Playgroud)
创建docker容器后,可以看到容器中的变量hi何时出现echo。
但是,当我尝试使用react读取它时process.env.HOST_IP_ADDRESS,正在记录它undefined。
我在某处的博客中读到,只能在生产环境中访问env变量。由于我正在构建应用程序并将其部署在nginx中,因此我应该能够访问它,但是由于某些原因,我无法阅读它。
我在这里做错什么吗?如果是这样,请让我知道解决方案。我不是反应专家,我只是在管理别人的代码。
更新:
Dockerfile如下所示:
FROM node:8 as ui-builder
WORKDIR /home/ui
COPY helloworld .
RUN npm install
RUN npm run build
FROM nginx
COPY --from=ui-builder /home/ui/build /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)
React Component片段如下:
import React, { Component } from 'react';
class HelloWorld extends Component {
render() {
console.log(process.env.HOST_IP_ADDRESS);
return (
<div className="helloContainer"> …Run Code Online (Sandbox Code Playgroud) 我试图从列表视图中获取值.列表视图由hashmap类型的数组列表设置.所以,如果我试图获取字符串中的值,我会得到错误HashMap cannot be cast to java.lang.string
details1.java
package com.example.festipedia_logo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.app.SherlockListFragment;
//import com.example.festipedia_logo.Searchpage.LoadAllProducts;
//import com.example.connection.disp;
import android.app.Activity;
import android.app.Fragment;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast; …Run Code Online (Sandbox Code Playgroud) 如何在android中验证URL ...我正在尝试使用正则表达式,但即使网址正确也始终返回false
使用的代码:
private boolean checkEmail(String email) {
return URL.matcher(email).matches();
}
public final Pattern URL = Pattern.compile(
"/((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(:[0-9]+)?|(?:ww??w.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#???(?:[\\w]*))?)/"
);
Run Code Online (Sandbox Code Playgroud)
我对正则表达式有非常基础的知识,所以我不知道上面使用的字符串是否正确.请帮忙...
我指的是将 R 连接到 Athena 的这篇文章。
定义驱动程序时,出现以下错误:
.jfindClass(as.character(driverClass)[1]) 中的错误:找不到类
我做了一些研究,然后到达了这个页面。接受的答案有一条评论,说明了同样的问题。但是,提供的解决方案(即重新启动 R)不起作用。
到目前为止,我已经编写了以下代码。
library("pacman")
pacman::p_load("RJDBC")
pacman::p_load("dplyr")
# Downloading Athena driver to the working directory
URL <- 'https://s3.amazonaws.com/athena-downloads/drivers/AthenaJDBC41-1.0.0.jar'
fil <- basename(URL)
if (!file.exists(fil)) download.file(URL, fil)
# Defining driver
drv <- JDBC(driverClass="com.amazonaws.athena.jdbc.AthenaDriver", fil, identifier.quote="'")
Run Code Online (Sandbox Code Playgroud)
我正在使用 RStudio 并在 Windows 上运行它。任何有关如何解决此问题的建议将不胜感激。