当尝试控制台记录 docker-compose 中定义的环境变量时,节点容器返回未定义的值。
docker-compose.yml
version: "3"
services:
api:
build: ./api
ports:
- "3004:3004"
volumes:
- type: bind
source: ./api
target: /usr/src/api
working_dir: /usr/src/api
environment:
REDIS_HOST: "redis://redis:6379"
TEST: "123"
depends_on:
- redis
networks:
- backend
redis:
image: "redis:latest"
ports:
- "6379:6379"
networks:
- backend
networks:
backend:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
我尝试将 yaml 语法更改为 - TEST="123" 而不是键值语法只是为了确保。我不确定问题是什么。
API dockerfile 如下所示:
FROM node:12
# create destination directory
RUN mkdir -p /usr/src/api
WORKDIR /usr/src/api
# copy the app, note .dockerignore
COPY . /usr/src/api
# Install packages …Run Code Online (Sandbox Code Playgroud) 我有一个带有名为“volume”的状态属性的组件,它绑定到滑块元素。我有一个绑定到卷属性的观察程序,这样当更新卷时,应该触发一个函数
data () {return {
volume: 0,
}},
methods: {
testMethod () {
console.log("this is firing")
}
},
watch: {
volume: (v) => {
console.log("volume has been updated", v);
this.testMethod();
}
}Run Code Online (Sandbox Code Playgroud)
运行此代码时,控制台显示错误“无法读取未定义的“testMethod”属性”
我尝试过其他方法,例如访问 $store (这是我最初的问题),但也未能解决。
举个例子,假设用户将一些 json 发送到包含他的套接字 id 的服务器,服务器需要 5 秒来响应。当它准备好响应时,它从 json 对象中提取 socket.id,并只向该套接字发出一些数据。
如果用户在发送消息和服务器响应之间刷新(因此更改他正在连接的套接字),我将如何确保他们仍然接收数据?
服务器:
io.on("connection", function(socket) {
socket.on("data", function(data) {
var id = data.socket_id;
io.sockets.connected[id].emit("response", "sup");
// I know I could just do -> socket.emit("response", "sup") <- but im simply trying it out for learning purposes
})
})Run Code Online (Sandbox Code Playgroud)
客户:
socket.emit("data", {
username: "chris",
socket_id: socket.id,
});
socket.on("response", function(res) {
console.log(res);
})Run Code Online (Sandbox Code Playgroud)
我正在努力将 redis 部署连接到我的 nodejs 应用程序。当然,在本地不使用 docker,它运行良好,所以我对这是否与我的代码有关,或者我设置 docker compose 文件的方式存在分歧
Dockerfile:
FROM node:8
WORKDIR /app
COPY package.json /app
COPY . /app
RUN npm install
CMD ["npm", "start"]
EXPOSE 3000Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: "3"
services:
web:
container_name: web-container
restart: always
depends_on:
- redis
build: .
ports:
- "3000:3000"
links:
- redis
redis:
container_name: redis-container
image: "redis:latest"
ports:
- "6379:6379"
volumes:
- ./data:/dataRun Code Online (Sandbox Code Playgroud)
Redis 连接文件 (RedisService.js)
const redis = require("redis");
const client = redis.createClient();
const DbUtils = require("../../db_utils");
const {promisify} = require("util");
const getAsync …Run Code Online (Sandbox Code Playgroud)我正在尝试将 apexcharts 导入到我的 nuxt 项目中。我同时使用了 vanilla lib 和 vue 包装器。简单的导入库会导致以下错误
就像我说的,我已经尝试导入
import ApexCharts from "apexcharts"
和
import VueApexCharts from "vue-apexcharts"
两者都返回相同的错误。这是我必须在 nuxt.config.js 文件中配置的东西吗?
docker ×2
javascript ×2
node.js ×2
vue.js ×2
apexcharts ×1
components ×1
environment ×1
nuxt.js ×1
nuxtjs ×1
redis ×1
socket.io ×1
sockets ×1
watch ×1