欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

      NuGet就是一個包(package)管理平臺,確切的說是 .net平臺的包管理工具,它提供了一系列客戶端用于生成,上傳和使用包(package),以及一個用于存儲所有包的中心庫。

      對于一個現代化的開發平臺,建立一種讓開發者創建,分享與使用可復用代碼的機制是十分必要的。這種“可復用代碼”被打包后的文件通常被稱作“包”(package),

    對于.NET(包括 .NET Core)平臺來說這個機制的實現就是NuGet平臺。

      NuGet的實現均為開源項目,包括了客戶端工具,服務器,官方網站以及各語言的文檔等。

      NuGet包的本質是一個以nupkg為后綴的zip壓縮文件(你可以將后綴改為.zip后解壓查看里面的內容),其中包含了編譯后的Dll文件以及其他相關文件。

                圖1:顯示nuget包從創建,上傳到被使用的流程

    對于引用大家都會使用,但是對于創建NuGet引用就不怎么會了,我們下面就介紹怎么打包dll類庫到NuGet平臺進行引用。

    回到頂部

    創建類庫方法

    我們首先創建一個可調用的類庫,以“繁簡體相互轉換”為例,當然你也可以創建其他的,比如獲取配置文件、http請求幫助類等。

    這里使用的環境是vs2019, .NET Core2.1,使用.NET也可以,這里可根據自己的使用環境創建。

    注意:類庫是什么環境,引用也需要什么環境。(.NET Core和.NET不能相互混用)。

    創建一個.NET Core類庫項目,命名為“XiongZeUtils”(自定義命名),然后在類庫項目下創建一個繁簡體項目轉換的類,命名為“xzUtils”(自定義)。

    注意,繁簡體相互轉換需要現在NuGet引入包ChineseConverter,然后在類里面引用using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter,如下:

    創建完成后記得需要先編譯生成dll文件

    using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
    using System;
    
    namespace XiongZeUtils
    {
        public static class xzUtils
        {
            /// <summary> 
            /// 簡體轉換為繁體
            /// </summary> 
            /// <param name="str">簡體字</param> 
            /// <returns>繁體字</returns> 
            public static string GetTraditional(string str)
            {
                string r=string.Empty;
                r=ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional);
                return r;
            }
            /// <summary> 
            /// 繁體轉換為簡體
            /// </summary> 
            /// <param name="str">繁體字</param> 
            /// <returns>簡體字</returns> 
            public static string GetSimplified(string str)
            {
                string r=string.Empty;
                r=ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified);
                return r;
            }
        }
    }

    創建完成后記得需要先編譯生成dll文件


    回到頂部

    NuGet發布到服務器

    1、登錄NuGet賬號獲取API keys

    官網地址:https://www.nuget.org/

    如果你有Microsoft 帳戶,直接登錄即可。如果沒有則需去創建一個。

    NuGet登錄快捷入口:https://www.nuget.org/users/account/LogOn

    (注冊地址入口比較難找,下面快捷入口直接點擊即可注冊)

    NuGet注冊賬號快捷入口:https://signup.live.com/?lic=1

    備用方案:

    NuGet.org 上的個人帳戶:https://docs.microsoft.com/en-us/nuget/nuget-org/individual-accounts

    獲取您的 API 密鑰:https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli

    獲取您的 API 密鑰

    1. 登錄您的 nuget.org 帳戶或創建一個帳戶(如果您還沒有)。有關創建帳戶的更多信息,請參閱個人帳戶。
    2. 選擇您的用戶名(在右上角),然后選擇API Keys。
    3. 選擇Create,為您的密鑰提供一個名稱,選擇Select Scopes > Push。為Glob 模式輸入 * ,然后選擇Create。(有關范圍的更多信息,請參見下文。)
    4. 創建密鑰后,選擇復制以在 CLI 中檢索您需要的訪問密鑰:
    5. 重要提示:將您的密鑰保存在安全位置,因為您以后無法再次復制該密鑰。如果返回 API 密鑰頁面,則需要重新生成密鑰才能進行復制。如果您不想再通過 CLI 推送包,您也可以刪除 API 密鑰。

    范圍允許您為不同的目的創建單獨的 API 密鑰。每個密鑰都有其到期時間范圍,并且可以限定為特定的包(或 glob 模式)。每個鍵也適用于特定操作:推送新包和更新、僅推送更新或下架。通過范圍界定,您可以為為您的組織管理包的不同人員創建 API 密鑰,以便他們僅擁有所需的權限。有關更多信息,請參閱作用域 API 密鑰。


    2、下載Nuget.exe并發布項目

    點擊下載nuget.exe

    https://www.nuget.org/downloads

    我這里下載的是5.9.1版本的,版本這里沒有特別的要求。

    這里只有6M多一點,下載太慢了,我把下載好的放在gitee上,大家直接點擊下載解壓即可。

    下載地址1(git):https://gitee.com/xiongze/nugetexe-file.git

    下載地址2(百度網盤):https://pan.baidu.com/s/1RIbJXzn3aoKWURB_VRjx3w 提取碼:xion


    3、NuGet發布到服務器

    將下載下來的nuget.exe與剛才新建的類庫放在同一目錄下。

    配置發布信息,并將發布路徑指向或拷貝到與剛才新建的類庫放在同一目錄下。

    或者 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools

    命令提示定位到Nuget.exe所在的目錄

    雙擊運行 Developer Command Prompt for VS 2019 cd到項目類庫的目錄

    ③通過命令 nuget setapikey xxxxx-xxxx-xxx-xxxx-xxxx-xxxx (我們上面nuget copy的key), 設置API Key

    通過命令 nuget setapikey xxxxx-xxxx-xxx-xxxx-xxxx-xxxx , 設置API Key;

    ④生成xxxx.nuspec文件

    nuspec是NuGet將項目打包成nupkg的輸入文件,可以通過nuget spec命令產生。
    通過命令
    nuget spec 生成xxxx.nuspec文件;

    ⑤NuGet發布到服務器

    通過命令 nuget.exe push xxxxx.nupkg -Source https://www.nuget.org ,將NuGet發布到服務器。

    打包成功后,這里需要等待3-10分鐘左右,打包成功后nuget就能查詢到我們打包的引用了,如果沒有的多等待一下。


    回到頂部

    使用NuGet包

    我們這個時候就可以在NuGet里面搜索到我們的類庫了,我們引入進來使用一下。

    在項目中引入我們的nuget包,然后調用得到下面內容




    歡迎點贊+轉發+關注!大家的支持是我分享最大的動力!!!

    為什么又造個輪子?

    為什么又要構建一個 JavaScript 構建工具呢?因為當前用于 Web 的構建工具比用戶期望的性能至少慢一個數量級。我希望這個項目可以作為一種“存在證明”,證明我們的 JavaScript 工具實際上能比現在快得多。

    基準測試

    我想到的用例是打包用于生產的大型代碼庫。這個流程包括壓縮代碼以減少網絡傳輸時間,以及生成源映射(對于調試生產中的錯誤是非常重要的)。理想情況下,構建工具還應該具備快速構建能力,而不必先預熱緩存。

    我的主基準測試會將 three.js 庫復制 10 次并從頭開始構建單個包,過程中沒有任何緩存,從而模擬一個大型代碼庫。在這個基準測試中,esbuild 比我測試的其他 JavaScript 打包器(Webpack、Rollup、Parcel 和 FuseBox)快 10-100 倍。這個基準測試可以使用’make bench-three’來運行。

    時間數據取三次運行中最好的一次,主要運行環境如下:

    • 使用’–bundle --minify --sourcemap’來運行 esbuild。
    • 使用’rollup-plugin-terser’插件,因為 rollup 自身不支持壓縮。
    • Webpack 使用的是’–mode=production --devtool=sourcemap’。
    • Parcel 使用默認選項。
    • FuseBox 使用’useSingleBundle: true’配置。
    • 絕對速度基于總行數(包括注釋和空白行),當前為 547,441。
    • 測試是在配備 16GB RAM 的 6 核 2019 MacBook Pro 上完成的。

    為什么這么快?

    幾個原因:

    • 它是用 Go 語言編寫的,該語言可以編譯為原生代碼;
    • 解析,打印和源映射生成全部完全并行化;
    • 無需昂貴的數據轉換,只需很少的幾步即可完成所有操作;
    • 編寫代碼時處處注意速度表現,并盡量避免不必要的配置。

    狀態

    目前支持:

    • CommonJS 模塊
    • ES6 模塊
    • 使用’–bundle’與 ES6 模塊的靜態綁定打包
    • 使用’–minify’完全壓縮(空格、標識符和修飾符)
    • 啟用’–sourcemap’時,完全支持源映射
    • .jsx 文件的 JSX 到 JavaScript 轉換
    • 通過’–define’進行編譯時標識符替換
    • 使用 package.json 中的’browser’字段進行路徑替換
    • 自動檢測 tsconfig.json 中的’baseUrl’

    這是我在 2019-2020 年寒假期間寫的一項業余愛好項目。我相信它是相對完整和實用的。但它是全新的代碼,可能有很多錯誤。還沒有任何人在生產中使用過它。使用風險自負。

    還請記住,它并不完全支持將現代語言語法降低到早期語言版本。目前只有類字段和 nullish 合并運算符是支持的。

    我個人不想運營一個大型的開源項目,因此我目前沒在尋求貢獻。

    安裝

    如果你已安裝 Go 語言工具鏈,可以使用’make’生成可執行文件。當前可在 npm 上的單獨軟件包中找到預構建的二進制文件:

    npm install -g esbuild-linux-64   # for Linuxnpm install -g esbuild-darwin-64  # for macOSnpm install -g esbuild-windows-64 # for Windowsnpm install -g esbuild-wasm       # for all other platforms

    這將添加一個名為’esbuild’的命令。

    用法

    命令行界面獲取入口點列表,并為每個入口點生成一個打包文件。以下是可用的選項:

    復制代碼

    Usage:  esbuild [options] [entry points] Options:  --name=...            模塊名稱  --bundle               將所以依賴項打包進輸出文件  --outfile=...         輸出文件 (用于一個入口點)  --outdir=...          輸出目錄 (用于多個入口點)  --sourcemap            發出一個源映射  --error-limit=...     最大錯誤計數,0 是禁用 (默認值為 10)  --target=...          語言目標 (默認 esnext)   --minify              設置所有 --minify-* flags  --minify-whitespace   移除空格  --minify-identifiers  縮短標識符  --minify-syntax       使用較短的等效語法   --define:K=V          解析時用 V 替換 K  --jsx-factory=...     用來替換 React.createElement 的內容  --jsx-fragment=...    用來替換 React.Fragment 的內容   --trace=...           在這個文件中寫入一個 CPU trace  --cpuprofile=...     在這個文件中寫入一個 CPU profileExample:  # Produces dist/entry_point.js and dist/entry_point.js.map  esbuild --bundle entry_point.js --outdir=dist --minify --sourcemap

    與 React 一起使用

    要將 esbuild 與 React 一起使用:

    • 確保所有 JSX 語法都放在.jsx 文件而不是.js 文件中,因為 esbuild 使用文件擴展名來確定要解析的語法。
    • 如果你使用的是 TypeScript,請先運行’tsc’以將.tsx 文件轉換為.jsx 或.js 文件。
    • 如果你使用 esbuild 打包 React 自身,而不是在 HTML 中使用 <script> 標記添加它,則需要傳遞 ‘–define:process.env.NODE_ENV=“development”’ 或’–define:process.env.NODE_ENV=“production”'以在命令行上運行 esbuild。
    • 如果你使用的是 Preact 而不是 React,則還需要傳遞–jsx-factory=preact.h --jsx-fragment=preact.Fragment 在命令行上運行 esbuild。

    例如,如果你有一個名為 example.jsx 的文件,其中包含以下內容:


    那么用于開發構建:

    復制代碼

    esbuild example.jsx --bundle '--define:process.env.NODE_ENV="development"' --outfile=out.js

    用于生產構建:

    復制代碼

    esbuild example.jsx --bundle '--define:process.env.NODE_ENV="production"' --minify --outfile=out.js

    關注我并轉發此篇文章,私信我“領取資料”,即可免費獲得InfoQ價值4999元迷你書!

    點解文末了解更多獲取GitHub開原地址

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有