node windows更新_尝试一下 VSCode Remote 开发 Node 应用

bae07dfc076906afad8413c813b63658.png

第一步 安装 VSCode Insiders

a584c4ba7054241fe99a709de45370e2.png
VSCode Insiders官网
https://code.visualstudio.com/insiders/​code.visualstudio.com

目前只能在 VSCode Insiders 版本体验 Remote Development

第二步 安装 Remote Development 插件

6eacc88ce5554c6c0b02b884df9e153a.png
Remote Development插件
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack​marketplace.visualstudio.com

第三步 配置 SSH Config

d8d433da48fe335f26d07b5c7b7d77ab.png
SSH配置文件
Host ubuntu
    HostName <your-remote-host>
    User ubuntu

这里需要准备一个远端的机器,这样可以直接访问到服务器的文件。

71867d1f15a90ac5fd6de106c7e79466.png
远端文件管理

第四步 编写Node应用

2f109709691049418cc7bebbc8309173.png
一个简单的node应用

基本就4个文件,已经放到 github 上:

https://github.com/SASUKE40/docker_web_app​github.com

第五步 构建推送docker镜像

0d32c577843a7964fb8649c274f90620.png
Docker Hub
https://hub.docker.com/​hub.docker.com

在应用项目目录下执行镜像构建

docker build -t edward40/node-web-app .

查看构建的镜像

docker images

0031054cb3e5a1dcf2a4d7926b8e5195.png
构建查看Docker镜像

本地试跑镜像

docker run -p 3000:8080 -d edward40/node-web-app

访问 http://localhost:3000

c2332ee17f46783071d0ca8f1169a8c2.png
本地查看效果

推送 Docker 镜像可以在终端执行

docker push edward40/docker_web_app:tagname

不过这里我用官方的自动化构建

e721f416daba8040ca71db2956b9ca6b.png
配置自动化构建镜像

只要推送代码就会 build 出镜像

665b8bf0d560308571dbb2604c37ae20.png
自动化构建流程

第六步 服务器上跑镜像

在 SSH 终端中拉取 Node 应用镜像

sudo docker pull edward40/docker_web_app

d371a699bb158ad32f067cbc31315298.png
服务端拉取镜像

服务端启动 Container

sudo docker run -p 80:8080 -d edward40/docker_web_app

第七步 本地开发Docker Container

安装 Docker 插件

https://marketplace.visualstudio.com/items?itemName=PeterJausovec.vscode-docker​marketplace.visualstudio.com

项目目录创建配置文件

aa17d2c91a31dad227ef6aa810759a42.png
创建Container配置文件

不过因为使用 Alipine 导致无法打开

ea9b4e7b2df8b4489cb12805b9b3dde4.png

需要切换别的 Linux 系统,并增加 .devcontainer.json 文件

{
	

Dockerfile 的 alpine 换成 lts 版本

FROM

35e8db031a69c745e5f2e066a93378d1.png
点击右下在容器中打开

打开 Shell

6ed638a7e92a512dee5f384ab329a212.png

最终可以在容器中方便用终端

41e8ad7d98c756afe5304f61a419a974.png
使用容器终端

使用总结

VSCode 的 Remote SSH 插件完美击中运维痛点,以后可以抛弃 Vim 直接在 VSCode 里面改东西,非常方便。

而 Remote Containers 插件就有点鸡肋,连到 Docker 容器中好像也没什么大的意义。个人更倾向代码提交触发 Docker Hub 的自动构建能力,并服务器上更新 Docker 镜像容器这样的工作流。如果有小伙伴发现这个插件更好的用法务必留言。

最后,VSCode Remote Development 快快 Release 吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 VS Code 插件开发中,如果需要在 Webview 中使用 `child_process.fork()` 方法创建多进程,需要进行如下操作: 1. 在插件的 `package.json` 文件中配置 `"browser"` 字段,将需要使用的模块路径映射到实际的模块路径上。例如: ```json { "name": "my-extension", "version": "1.0.0", "main": "extension.js", "browser": { "child_process": "./node_modules/electron/dist/electron.js" } } ``` 在这个例子中,我们将 `child_process` 模块的路径映射到了 Electron 的路径上。 2. 在 Webview 中使用 `require()` 方法加载模块时,需要使用 `nodeIntegration: true` 选项来启用 Node.js 的集成。例如: ```javascript const vscode = acquireVsCodeApi(); const { fork } = require('child_process').remote; const child = fork('fileProcessor.js'); child.on('message', (result) => { console.log(`Processed file: ${result}`); }); child.send('file.txt'); ``` 在这个例子中,我们使用 `require()` 方法加载 `child_process` 模块,并通过 `remote` 对象使用 `fork()` 方法创建子进程。然后,我们通过 `send()` 方法向子进程发送文件名参数,并通过 `message` 事件监听子进程的输出结果。 需要注意的是,在使用 Webview 中的多进程时,需要考虑安全问题。Webview 中的代码可以访问用户计算机上的文件系统和网络资源,并可能执行恶意代码。因此,需要对 Webview 中的代码进行严格的输入验证和代码审查,以确保插件的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值