小编gAN*_*ALF的帖子

使用 gitlab ci cd pipeline 时访问 Node js 应用程序中的环境变量

我正在使用 gitlab ci cd 管道将我的应用程序部署到 ubuntu 服务器。我有不同的 .env 文件用于本地和开发环境,并且它不是 git repo 的一部分(包含在 gitignore 中)如何在部署到 ubuntu 服务器时在我的应用程序中获取环境变量

我的 gitlab-ci.yml

stages:
     - deploy
cache:
  paths:
    - node_modules/
deploy:
    stage: deploy
    script:
      - npm install
      - sudo pm2 delete lknodeapi || true
      - sudo pm2 start server.js --name lknodeapi
  
Run Code Online (Sandbox Code Playgroud)

continuous-integration node.js gitlab pm2

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

Web USB 将数据从设备传输到浏览器不起作用

在此处输入图片说明

以上是我的设备配置。我正在尝试从中获取数据,我正在使用下面的代码来获取数据

document.getElementById("request").onclick = function() {

  navigator.usb.requestDevice({
      filters: [{
        vendorId: 1659
      }]
    })
    .then((requestedDevice) => {
      device = requestedDevice;
    }).then(() => {
      console.log(device);
      console.log(JSON.stringify(device));
      return device.open();
    }).then(() => device.selectConfiguration(1)) // Select configuration #1 for the device.
    .then(() => {

      return device.reset();
    }).then(() => device.claimInterface(0))
    .then(() => {

      return device.transferIn(3, 64)
    })
    .then((data) => {
      debugger;
      console.log(data)

    }).catch(err => {
      console.log(err);
    });

}
Run Code Online (Sandbox Code Playgroud)

我正在选择 endPointnumber 和界面,但它似乎不起作用,我在这里遗漏了什么吗?.请帮忙。我没有收到任何错误,设备似乎已连接,但数据没有从机器传输到浏览器。

我看到了这个问题,它与我的WEBUSB 获取串行数据 PL2303 的场景完全相同

但就我而言,我什至没有得到任何数据。

我在 node js 中尝试了这个驱动程序https://github.com/tidepool-org/pl2303并且它有效,但我想用 web usb …

javascript webusb

5
推荐指数
0
解决办法
665
查看次数

如何从docker文件中隐藏环境变量

我有一个 Dockerfile,用于部署带有一些秘密 api 密钥的 Node js 应用程序,我想从 docker 文件中隐藏它们。目前我正在使用ENV关键字来定义环境变量,如下所示

FROM node:17
WORKDIR /usr/app
COPY package.json /usr/app/
RUN npm install
COPY . /usr/app
ENV TWILIO_ACCOUNT_SID=""
ENV TWILIO_AUTH_TOKEN="" 
ENV OTP_TEXT="This is your Otp" 
ENV TWILLIO_SENDER=99999
ENV PORT=8080 
ENV DB_URL=""
ENV JWT_SECRET="Some Secrete" 
ENV JWT_EXPIRES_IN=30min
ENV OTP_EXPIRE_TIME_SECONDS=150000 
ENV AWS_S3_REGION = us-east-2 
ENV AWS_S3_BUCKET = gos32 
ENV AWS_ACCESS_KEY_ID ="" 
ENV AWS_SECRET_ACCESS_KEY =""
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

编辑 :

只需添加 @blami 给出的答案中的“什么对我有用”

docker build -t  app . 
Run Code Online (Sandbox Code Playgroud)

然后我跑了

docker run --env-file env.txt  -d …
Run Code Online (Sandbox Code Playgroud)

docker

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

在 onclick react 中传递函数名和通过回调调用有什么区别

我想知道这两个语句在反应中的区别。

<Button onClick={this.Callme}></Button>

<Button onClick={()=>this.Callme()}></Button>
Run Code Online (Sandbox Code Playgroud)

它只是语法,或者在功能上也有任何区别。谢谢

javascript reactjs

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

Web USB 设备在 Chrome Windows 10 中不显示

我在 Windows 10 中使用 chrome 版本 86.0.4240.193。我尝试连接 USB 设备,但在chrome://devicelog. 在 mac 中,甚至在安装了 chrome 的 ubuntu 18.04 中也检测到相同的设备。我真的正在修复,对此有什么帮助吗?任何人都可以告诉我为什么会出现这个问题。我已经安装并重新安装了chrome很多次,但没有任何效果。

谢谢

google-chrome windows-10 webusb

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