色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    495

    瀏覽量

    22072
  • 代碼
    +關注

    關注

    30

    文章

    4793

    瀏覽量

    68701

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

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

收藏 人收藏

    評論

    相關推薦

    android手機上emulate應用程序的方法

    Android手機上模擬(emulate)應用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環境,以便在沒有實際物理設備的情況下運行
    的頭像 發表于 12-05 15:33 ?319次閱讀

    使用OpenVINO? ElectronJS創建桌面應用程序

    的用戶體驗。 1 應用程序概覽:一種簡單的背景虛化方法 這個演示展示了如何在 Node.js 環境中使用 OpenVINO 工具包實現背景虛化,并通過 Electron.js 創建的直觀桌面界面進行
    的頭像 發表于 11-25 11:35 ?190次閱讀
    使用OpenVINO? ElectronJS<b class='flag-5'>中</b>創建桌面<b class='flag-5'>應用程序</b>

    Node.js小科普和Node.js安裝常見管理工具

    Node.js是一個JavaScript運行環境,用來執行JavaScript代碼。 為什么會出現這么一個
    的頭像 發表于 11-23 15:37 ?127次閱讀
    <b class='flag-5'>Node</b>.js小科普和<b class='flag-5'>Node</b>.js安裝常見管理工具

    Docker運行環境安裝

    、發布、測試和部署,可以幫助開發人員將最新版本代碼應用到生產環境。 Docker可以安裝在多個平臺中,包括Mac、Windows和Linux。不過,生產環境還是推薦Linux上
    的頭像 發表于 10-29 11:28 ?229次閱讀

    TMS320C6000 DMA示例應用程序

    電子發燒友網站提供《TMS320C6000 DMA示例應用程序.pdf》資料免費下載
    發表于 10-26 10:17 ?0次下載
    TMS320C6000 DMA<b class='flag-5'>示例</b><b class='flag-5'>應用程序</b>

    PCM2912A應用程序的操作環境

    電子發燒友網站提供《PCM2912A應用程序的操作環境.pdf》資料免費下載
    發表于 10-21 09:53 ?0次下載
    PCM2912A<b class='flag-5'>應用程序</b>的操作<b class='flag-5'>環境</b>

    PCM2912應用程序的操作環境

    電子發燒友網站提供《PCM2912應用程序的操作環境.pdf》資料免費下載
    發表于 10-21 09:33 ?0次下載
    PCM2912<b class='flag-5'>應用程序</b>的操作<b class='flag-5'>環境</b>

    工程師必備!Node.js和常見管理工具介紹(附操作演示)

    現代軟件開發JavaScript已成為一種廣泛使用的編程語言,web前端開發、后端開發、移動應用端開發等領域中都有它的身影。本文中
    的頭像 發表于 08-30 12:34 ?321次閱讀
    工程師必備!<b class='flag-5'>Node</b>.js和常見管理工具介紹(附操作演示)

    Node-RED安裝本地教程

    Node-RED是一個基于流的開發工具,廣泛應用于物聯網(IoT)、家庭自動化和其他數據驅動的應用程序。它通過圖形化的編程界面,使得非專業程序員也能輕松上手。本文將介紹如何在本地環境
    的頭像 發表于 06-24 12:10 ?2165次閱讀
    <b class='flag-5'>Node</b>-RED安裝本地教程

    一個新的積木編程工具:Node-App

    基于Arduino,或microPython的代碼,生成的程序能在硬件上運行Node-App的不同在于,其生成的是瀏覽器上運行的網頁Ap
    發表于 05-28 15:55

    無法示例以太網應用程序添加任何printf或使用UART,為什么?

    你好,我無法示例以太網應用程序添加任何 printf 或使用 UART。 如果我在那里添加任何東西,它就會崩潰 從以太網接收數據后,我需要處理數據,但如果我嘗試做任何事情,
    發表于 05-27 08:24

    鴻蒙開發接口公共事件與通知:【FFI能力(Node-API)】

    Node-API是封裝底層JavaScript運行時能力的一套Native接口。OpenHarmony的N-API組件對Node-API的接口進行了重新實現,ArkUI-X同樣擁有這部
    的頭像 發表于 05-21 16:38 ?995次閱讀
    鴻蒙開發接口公共事件與通知:【FFI能力(<b class='flag-5'>Node</b>-API)】

    應用程序的服務器錯誤怎么解決?

    使用應用程序時,可能會遇到服務器錯誤的問題。這種錯誤通常會導致應用程序無法正常運行 ,給用戶帶來不便。下面將介紹應用程序
    的頭像 發表于 03-12 15:13 ?6288次閱讀

    使用PSoc6Modus工具箱創建一個示例應用程序時,終端報錯的原因?

    你好, 每當我嘗試使用 PSoc6 Modus 工具箱創建一個示例應用程序時,我的終端都會顯示以下兩個錯誤。 有人有什么建議嗎? 1) make[1]:*** [../mtb_s
    發表于 03-04 07:01

    u8g2應用程序無法moduStoolBox構建是為什么?

    u8g2 庫。 要將其添加到應用程序的哪里? 我試圖將其加載到libs目錄下,但是當我這樣做時,它會產生70多個錯誤。 我相信我已經在下面的壓縮文件附上了我的應用程序。 我
    發表于 01-24 07:03
    主站蜘蛛池模板: 扒开美女下面粉嫩粉嫩冒白浆| 国产乱人视频在线观看| 久久国产乱子伦免费精品| 一二三四视频免费社区5| 久久综合久久鬼| www.av色| 亚洲qvod图片区电影| 久久久免费热线精品频| adc影院在线| 新新电影理论中文字幕| 九九热精品在线| TUBE19UP老师学生| 亚洲AV无码专区国产乱码网站| 久久全国免费久久青青小草| 成人网视频在线观看免费| 亚洲国产精麻豆| 尿孔 调教 扩张| 国产在线观看www| 99热在线观看精品| 亚洲精品一区国产欧美| 啪啪后入内射日韩| 极品美女穴| 电影果冻传媒在线播放| 中文日产无乱码AV在线观| 天天爽夜夜爽夜夜爽| 美女被爆羞羞天美传媒| 国产福利高清在线视频| 佐山爱痴汉theav| 小莹的性荡生活45章| 女人被弄到高潮叫床免| 国内精品久久久久影院老司| xxxxxx日本处大片免费看| 亚洲色婷婷久久精品AV蜜桃| 日本三区四区免费高清不卡| 久久视热频国只有精品| 国产麻豆AV伦| 超碰免费视频公开观看| 最新精品学生国产自在现拍| 性色爽爱性色爽爱网站| 拍床戏被肉高H纯肉H在水| 久久久久久免费高清电影|