国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Node環境中運行JavaScript應用程序的示例

馬哥Linux運維 ? 來源:CSDN ? 作者:Santhosh Sundar ? 2021-06-24 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

長話短說,你可以使用 Docker 和 VS Code 的遠程容器來建立一個容器化的本地開發環境,這樣就可以讓團隊成員盡快完成入門培訓。你不僅可以在所有環境中使用同一個基礎鏡像,而且還可以為所有開發人員提供相同的編輯器,此外還更容易標準化實現。但這種方法并非適合所有人,如果你不喜歡 VS Code 作為代碼編輯器的話,則可以跳過本文,除非你想嘗試一下。為團隊設置本地開發環境時,我們所面臨的挑戰之一就在于,確保所有開發人員的設置都相同或者能夠滿足需求。這個問題常見的解決方法是制定入門指南,并希望開發人員遵循這些指南。但是,由于版本兼容性問題和個人經驗等問題,導致我們無法使用正確的工具,因此實現統一的環境設置實則困難重重。

另外一種解決方案是,準備一個預先配置好的開發環境,其中包含了所有必需的庫及依賴項,該環境可以直接作為容器啟動。這樣,開發人員就可以在容器提供的隔離環境中工作了。這種方式可以極大地減少開發人員花費在克隆代碼庫上的時間。

除了為所有開發人員提供相同的環境之外,我們還可以在 Visual Studio Code 中使用同一套工具、擴展甚至主題集。盡管這不是必須的,但我們可以利用它來自動安裝項目所需的特定擴展。這種方式可以避免工具的不一致,而且開發人員也可以免卻手動安裝的麻煩。

所有這些工作都可以通過Docker 與 VS Code 的 Remote-Containers 擴展的結合來實現。

設置

在本文中,我將展示一個在 Node 環境中運行 JavaScript 應用程序的示例。有關的詳細說明請參見官方文檔(https://code.visualstudio.com/docs/remote/containers)。

首先安裝Docker 和 VS Code,然后在 VS Code 中安裝 Remote — Containers 擴展,并確保Docker 可在你的機器上正常運行。

打開項目,在根目錄下創建一個名為 .devcontainer 的文件夾。這個新文件夾內包含開發容器所需的配置文件。

在 .devcontainer 中創建 Dockerfile 和 devcontainer.json,并添加以下配置。

# Specify the base image you want your dev container to use.

# You may use the same exact base image your application would use in production for consistancy.

# That could prevent surprises such as “works in local, but not in PROD”.FROM node:14.17.0-alpine

# Additionally you can install other dependencies for the environment while configuring the base image.# In this example, I am installing Git as the Alpine version of node does not come with one.

RUN apk updateRUN apk add git

{“name”: “DevContainer ReactApp”,

// Provide the dev container with a Dockerfile that it can use to build an image and run the container.“dockerFile”: “Dockerfile”,

// Command(s) to run before the container is created.// In this case we are installing the node modules.“initializeCommand”: “yarn install”,

// Starts the development server every time the container starts.// This is triggered on reopening the container as well.“postStartCommand”: “yarn start”,

// Forward your application‘s port(s) running in the container to the local machine.“forwardPorts”: [3000],

// Required VSC code extensions that you want to automatically install for the developers to use.

“extensions”: [“dbaeumer.vscode-eslint”,“esbenp.prettier-vscode”,“eamodio.gitlens”]// Use the devcontainer.json reference to explore all possible configurations.// https://code.visualstudio.com/docs/remote/devcontainerjson-reference}

在完成上述工作后,我們來構建容器。首先,點擊VS Code 命令面板中的“Open Folder in Container”或“Reopen in Container”。

這一步是初始化開發容器,拉取 Docker 基礎鏡像、配置容器,然后啟動開發服務器。

完成這一步,你就應該能夠在瀏覽器中訪問應用程序,并正常使用 VS Code 進行開發了。就連熱重載都能正常工作!我創建了一個代碼庫(https://github.com/Gigacore/devcontainer-react-example),其中包含一個示例,你可以嘗試一下!

容器的構建和配置只需要執行一次,但是需要一定的時間。以后如果不發生變化,那么重建會更快。但是,如果 devcontainer.json 或 Dockerfile 發生變化,則需要重新構建。如果你嘗試直接重新打開,系統會提示你重建。

在退出容器或 VS Code 后,下一次可以通過 ”Reopen in Container” 選項重新進入容器。該選項會啟動已配置的容器,并再次啟動開發服務器。如果VS Code 在代碼庫中找到 .devcontainer 配置,則會自動提示你啟動容器。

容器和本地計算機之間的文件系統是同步的,因此你可以通過任一環境訪問代碼。

你可以運行任意多個應用程序,即便它們需要不同版本依賴項,而無需在計算機上安裝或修改任何應用程序。

團隊中的任何人都可以在自己的計算機上運行應用程序,編寫和審核代碼,或者做一些嘗試,包括非技術成員。

應用程序的運行不需要依賴操作系統

常見問題和解決方法

你可以利用 VS Code 終端運行任何腳本或命令,因為它就在容器的工作區中。但是如果想使用macOS 的“Terminal”等其他工具,則需要找到容器,然后執行docker exec。

由于應用程序在 Docker 容器內運行,因此它可以使用的資源(CPU、內存等)很有限。默認限制在大多數情況下都沒有問題。但是,對于有些應用程序,你可能需要在Docker選項中提高這些資源限制,以避免發生卡頓現象。

并非適合所有人

雖然這種做法可以降低構建開發環境的難度,但是對于需要在容器范圍之外的環境中進行廣泛集成和配置的應用程序來說并不理想。

高級用戶和經驗豐富的開發人員可能不太喜歡這種方式,特別是有些人更喜歡其他代碼編輯器。這種設置方式可以作為備選,不要強迫開發人員運行容器,他們仍然可以手動設置環境。

如果應用程序占用了大量資源,則運行 Docker 容器可能會消耗更多資源。

總結

這是一個相對較新的概念,有許多地方需要探索,而且也有很多限制需要解決。我個人很喜歡這種方式,而且也比較推薦。如果你也采用了這種方式,請在下方留言分享你的經驗。

原文鏈接:https://santhoshsundar.medium.com/building-container-based-development-environment-with-visual-studio-code-2d7111c650bd

作者 | Santhosh Sundar 譯者 | 彎月 責編 | 歐陽姝黎

文章轉載:CSDN

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 容器
    +關注

    關注

    0

    文章

    531

    瀏覽量

    22965
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73984

原文標題:利用 VS Code 構建基于容器的開發環境

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于凌羽派的OpenHarmony北向應用開發:Hello World 示例應用

    示例是基于OpenHarmony開發的第一個簡單應用,用于展示如何創建、構建和部署一個基本的應用程序。環境配置如下所示:API:18SDK:OpenHarmony-v5.
    的頭像 發表于 02-25 10:23 ?172次閱讀
    基于凌羽派的OpenHarmony北向應用開發:Hello World <b class='flag-5'>示例</b>應用

    ICU-X0201 Hello Chirp示例應用用戶指南

    ICU-X0201 Hello Chirp示例應用用戶指南 嵌入式產品中集成超聲傳感器時,開發合適的應用程序是關鍵的一環。InvenSense的ICU-X0201 Hello Chirp示例
    的頭像 發表于 12-26 10:25 ?414次閱讀

    nordic NRF54藍牙設備Google Pixel 10上“聽診”藍牙信道示例

    說明如何使用 nRF Connect SDK 的藍牙信道探測反射器示例程序運行于 nRF54L15 SoC),配合搭載 Android 16 系統藍牙信道探測發起器及算法實現的 Google Pixel
    發表于 11-26 17:44

    如何在應用程序調試期間分析棧和堆使用情況

    隨著 AMD Vitis 統一軟件平臺 2021.2 的發布,Vitis 引入了一個 Tcl 腳本,用于應用程序運行的特定時間點協助查找棧和堆的內存使用情況。該腳本已延續到后續的 Vitis 版本
    的頭像 發表于 10-24 16:54 ?896次閱讀
    如何在<b class='flag-5'>應用程序</b>調試期間分析棧和堆使用情況

    如何在裸機環境運行KleidiAI微內核

    ,對 KleidiAI 進行了簡要概述,并附有相關指南鏈接,其中詳細說明了 Linux 環境運行 KleidiAI 矩陣乘法 (matmul) 微內核的分步操作,這份指南內容詳實且
    的頭像 發表于 08-08 15:16 ?3836次閱讀
    如何在裸機<b class='flag-5'>環境</b><b class='flag-5'>中</b><b class='flag-5'>運行</b>KleidiAI微內核

    FX3 UVC 無法與 Ubuntu 24.04 Cheese 或 Snapshot 相機應用程序配合使用,怎么處理?

    `:運行一次,沒有問題。首次出現緩沖錯誤后啟動。但是,使用 libcamera 測試應用程序“cam”和“qcam”,我可以毫無問題地傳輸數據。 如果能幫助檢查 wireshark 跟蹤是否存在處理
    發表于 07-16 06:37

    如何將Flash刷寫程序放到SRAM運行?

    客戶要求Flash driver不能存儲Flash,需要在升級的時候,由CAN FBL發送到SRAM,再運行SRAM的Flash d
    發表于 07-15 07:22

    【米爾RK3576開發板免費體驗】1、開發環境、鏡像燒錄、QT開發環境搭建以及應用部署

    的設置如下。 完成上述配置后,即可進行QT應用程序的開發和部署。 3、QT示例程序編譯和下載 Buildroot添加QT的示例程序選項
    發表于 07-14 11:26

    外圍設備通過手機連接到BLE應用程序,為什么不能連接到Infineaon BLE?

    ; key_ch06_ex01_ \" observer 項目創建了 BLE 中央應用程序。 但是它無法掃描附近藍牙的任何設備。 它進入高掃描模式 5 秒鐘,進入低掃描模式 5 秒鐘然后停止。 不顯示任何主機 ID,包括我的外圍設備。
    發表于 07-07 08:06

    如何在樹莓派上安裝并運行 Arduino 集成開發環境!

    使用樹莓派單板計算機,你可以運行各種應用程序,包括廣受歡迎的Arduino集成開發環境(IDE)。這意味著你可以用它輕松地為通過USB連接到樹莓派計算機的微控制器編程,以創建交互式電子項目。下面
    的頭像 發表于 07-01 17:41 ?4357次閱讀
    如何在樹莓派上安裝并<b class='flag-5'>運行</b> Arduino 集成開發<b class='flag-5'>環境</b>!

    HarmonyOS5云服務技術分享--ArkTS開發Node環境

    ? 你好呀,開發者小伙伴們!今天我們來聊聊如何在HarmonyOS(ArkTS API 9及以上)玩轉云函數,特別是結合Node.js和HTTP觸發器的開發技巧。文章會手把手帶你從零開始,用最接地
    發表于 05-22 17:21

    將SDK從版本1.3.4更新至1.3.5后,cyfx3s_msc應用程序的看門狗定時器出現故障怎么解決?

    使用 CyU3PSysWatchDogClear() 喂養看門狗后,應用程序運行順利。 但是,當我刪除 CyU3PSysWatchDogClear() 函數時,應用程序 5 秒后重置
    發表于 05-14 06:40

    部署計算機上運行 LabVIEW 應用程序時出現以下錯誤: “缺少外部函數 dll...”解決辦法

    如果你既有 DLL 文件,也有頭 (.h) 文件,那么可以使用共享庫批量生成VI,不用再一個一個使用“調用庫函數節點”來調用DLL,源代碼運行是沒有問題,一旦生成應用程序報錯缺失外部函數或者外部函數
    發表于 04-01 19:10

    【教程】Node-REDChirpstack節點使用指南

    物聯網應用開發,LoRaWAN技術因其低功耗、遠距離傳輸等特點而備受關注。Chirpstack作為最流行的LoRaWAN服務器之一,與Node-RED的集成為我們提供了強大的物聯網應用開發能力
    的頭像 發表于 03-27 19:33 ?1279次閱讀
    【教程】<b class='flag-5'>Node</b>-RED<b class='flag-5'>中</b>Chirpstack節點使用指南

    【干貨】什么是Node-RED?一文帶你了解!

    ,允許用戶通過拖拽和連接預定義的節點(Nodes)來構建應用程序。根據不同的節點實現不同的功能,例如硬件節點,存儲節點、計算節點或者邏輯處理節點。通過連接這些節點,
    的頭像 發表于 03-13 19:32 ?1962次閱讀
    【干貨】什么是<b class='flag-5'>Node</b>-RED?一文帶你了解!