从我的 docker-compose 文件中我必须读取一个环境变量。在本地,我可以像这样读取该变量:ENV_FILE=.env docker-compose -f docker-compose.dev.prisma.yml up --build
但由于 .env 文件位于 .gitignore 中,GitHub 操作无法获取该文件。我怎样才能阅读它们?
我的 package.json 文件中几乎有同样的问题。我需要从 npm 脚本中读取一些环境变量:
"start:backend": "wait-port $API_HOST:API_PORT && yarn start"
Run Code Online (Sandbox Code Playgroud)
我尝试过将这些变量添加到github的秘密中,但它没有得到这些变量。尽管期望这两个文件,但 envs 可以从 github 操作中完美读取。
github environment-variables docker-compose github-actions building-github-actions
我想在下拉菜单中按升序显示时刻时区列表。默认情况下,它们按字母顺序排序。但是,我的要求是按 GMT 升序对它们进行排序。
疼痛前:
[
'(GMT+00:00) Africa/Abidjan',
'(GMT+00:00) Africa/Accra',
'(GMT+03:00) Africa/Addis_Ababa',
'(GMT+01:00) Africa/Algiers',
'(GMT+03:00) Africa/Asmara',
'(GMT+03:00) Africa/Asmera',
'(GMT+00:00) Africa/Bamako',
'(GMT+01:00) Africa/Bangui',
]
Run Code Online (Sandbox Code Playgroud)
排序后:
[
'(GMT+00:00) Africa/Abidjan',
'(GMT+00:00) Africa/Accra',
'(GMT+00:00) Africa/Bamako',
'(GMT+01:00) Africa/Algiers',
'(GMT+01:00) Africa/Bangui',
'(GMT+03:00) Africa/Addis_Ababa',
'(GMT+03:00) Africa/Asmera',
'(GMT+03:00) Africa/Asmara',
]
Run Code Online (Sandbox Code Playgroud) 在这个例子中,我将 wait-for-it.sh 复制到 /app/wait-for-it.sh 但是,我不想将 wait-for-it.sh 保存在我的本地目录中。我想使用 curl 下载它,然后复制到 /app/wait-for-it.sh
FROM prismagraphql/prisma:1.34.8
COPY ./wait-for-it.sh /app/wait-for-it.sh
RUN chmod +x /app/wait-for-it.sh
ENTRYPOINT ["/bin/sh","-c","/app/wait-for-it.sh mysql:3306 --timeout=0 -- /app/start.sh"]
Run Code Online (Sandbox Code Playgroud)
我试过的是这个,但是如何wait-for-it.sh在使用 curl 命令下载文件后获得:
FROM prismagraphql/prisma:1.34.8
FROM node:11-slim
RUN apt-get update && apt-get install -yq build-essential dumb-init
RUN curl -LJO https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh
COPY wait-for-it.sh /app/wait-for-it.sh
RUN chmod +x /wait-for-it.sh
ENTRYPOINT ["/bin/sh","-c","/wait-for-it.sh mysql:3306 --timeout=0 -- /app/start.sh"]
Run Code Online (Sandbox Code Playgroud) 我想在本地主机中使用 Nginx 运行 Express 服务器。是否可以?如果可能的话我怎样才能实现这一目标?
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`Server listening at http://localhost:${port}`))
Run Code Online (Sandbox Code Playgroud) 我给图像指定了固定的高度。但现在的问题是,高度也适用于拇指。我怎样才能防止这种情况发生?
<Carousel width="600px" dynamicHeight={false}>
{data?.book?.images.map((image, i) => (
<img src={image} alt={`${i}`} className="h-128" />
))}
</Carousel>;
Run Code Online (Sandbox Code Playgroud) 我有一个选择选项菜单。因此,当用户选择一个选项时,我想使用该选项向服务器发送 GET/ 请求,并从服务器接收过滤后的数据。
这可以使用 useEffect(() => {// send the request}, [criteria]) 来实现
因为,useEffect 确保只有在 setCriteria 完成后请求才会发送到服务器。
但是,我正在使用react-query图书馆。所以说,它是不允许使用useQuery的内部useEffect。
结果,请求在 setState 完成之前发送到服务器。这样,服务器将获得先前选择的值,而不是当前选择的值。
更改:
<select
name="filter"
value={criteria}
onChange={async (e) => {
setCriteria(e.target.value);
}}
>
<option>Most recent First</option>
<option>Price: Low to High</option>
<option>Price: High to Low</option>
</select>;
Run Code Online (Sandbox Code Playgroud)
获取帖子:
const FetchPosts = async () => {
const {
data: { posts },
} = await axios.get(`${process.env.API_URL}/api/posts`, {
params: {
filter: criteria,
},
});
return posts;
};
useQuery("posts", FetchPosts);
const …Run Code Online (Sandbox Code Playgroud) javascript ×4
reactjs ×2
caching ×1
carousel ×1
css ×1
datetime ×1
docker ×1
dockerfile ×1
express ×1
github ×1
momentjs ×1
nginx ×1
node.js ×1
prisma ×1
react-query ×1
tailwind-css ×1