小编Lor*_*rza的帖子

docker compose环境变量在nodejs容器中未定义

当尝试控制台记录 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)

environment node.js docker docker-compose

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

无法访问组件观察器 nuxtjs 内的“this”

我有一个带有名为“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 (这是我最初的问题),但也未能解决。

components watch vue.js nuxtjs

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

刷新后如何将数据发送到用户套接字 ID - socket.io

举个例子,假设用户将一些 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)

javascript sockets socket.io

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

无法将Redis服务器连接到nodejs,Docker compose

我正在努力将 redis 部署连接到我的 nodejs 应用程序。当然,在本地不使用 docker,它运行良好,所以我对这是否与我的代码有关,或者我设置 docker compose 文件的方式存在分歧

Dockerfile:

FROM node:8
WORKDIR /app
COPY package.json /app
COPY . /app
RUN npm install
CMD ["npm", "start"]
EXPOSE 3000
Run 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:/data
Run 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)

javascript redis node.js docker

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

无法读取未定义的属性“文档” - ApexCharts

我正在尝试将 apexcharts 导入到我的 nuxt 项目中。我同时使用了 vanilla lib 和 vue 包装器。简单的导入库会导致以下错误

电子错误

就像我说的,我已经尝试导入

import ApexCharts from "apexcharts"import VueApexCharts from "vue-apexcharts"

两者都返回相同的错误。这是我必须在 nuxt.config.js 文件中配置的东西吗?

vue.js nuxt.js apexcharts

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