国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何自己寫一個公用的NPM包

glumes / 1852人閱讀

摘要:發布包文檔如果沒有注冊賬戶如果沒有登錄登錄后發布包,在工程目錄下執行

以 markdown-clear ,創建過程為例,講解整個NPM包創建和發布流程

1 如何創建一個包 1.1 創建并使用一個工程

在GitHub上新建一個倉庫,其名markdown-clear

clone 這個工程到本地

1.2 添加LICENCELICENSE文件, 說明對應的開源協議

到SPDX License List 或者Open Source Initiative,下載相應協議的模板,我們這里選用MIT

修改必要的協議時間和作者

MIT License
Copyright (c)  

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1.3 添加README或者ReadMe.md或者README.md文件

說明項目的一些信息

給出詳細參考資料的鏈接

給讀者一個整體的導航內容

1.4 添加.gitignore 文件,忽略不需要提交的文件變更

可以去github gitignore 下載一個最相近的模板然后改改

可以去gitignore.io生成一個,然后把內容拿下了

可以參考gitignore.io 文檔,自己配命令行工具,以便隨時可以玩

我們這里生成了一個Node + IntellJ-all 的結果

內容語法參考gitignore doc

1.5 初始化NPM包

使用npm init 初始化工程

按照提示填入相應的內容

1.6 到這里的目錄結構

工程三大件以及npm包配置文件都有了

markdown-clear
------------- .gitignore
------------- LICENCE
------------- README.md
------------- package.json
1.7 EditorConfig

跨編輯器的編輯器設置,網站掛了,EditorConfig

1.8 ESLint

新一代JavaScript代碼質量檢測工具ESLint

2 代碼結構組織 2.1 加入代碼相關的目錄
markdown-clear
-------------- src     // 源代碼目錄 比如coffee,typescript,es6+等代碼的目錄
-------------- lib     // 轉義生成的代碼目錄,比如babel轉義后的es5代碼的目錄
-------------- docs    // 代碼相關的設計和使用文檔
-------------- tests   // 相關的測試目錄
2.2 代碼實現

寫代碼 src 目錄

轉換后的代碼 lib 目錄

2.2.1 使用babel 轉換代碼

babel官網

babel 配置文件 .babelrc

{
  "presets":["es2015","stage-0"]
}

添加 npm 命令

  "scripts": {
    "build": "babel src -d lib",
   }
2.2.2 實現一個可以全局安裝的npm包

添加package.json的配置

  "bin": {
    "markdown-clear": "./lib/cli.js"
  }

cli.js文件第一行添加

#!/usr/bin/env node
2.3 測試

寫測試用例 tests 目錄

調用最終生成的 lib 下面的目錄

可以考慮使用測試框架 mocha, jasmine, karma...

2.3.1 安裝測試

使用npm 安裝本地文件 作為本地包

npm install path/to/markdown-clear

使用npm 安裝本地文件 作為全局包

npm install path/to/markdown-clear -g
2.4 文檔輸出

寫文檔 docs 目錄

寫代碼相關的設計和使用文檔,沒有自然可以不用寫

這里的文檔應該在README.md 中會有入口。

3 發布NPM包

npm文檔

如果沒有注冊npm賬戶

npm adduser USERNAME

如果沒有登錄

npm login

登錄后發布包,在工程目錄下執行

npm publish

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84679.html

相關文章

  • 前端模塊化——技術選型

    摘要:前言前端模塊化,主要是解決兩個問題命名空間沖突,文件依賴管理。目前解決的方法是模塊化命名空間各個模塊的命名空間獨立。模塊化構建工具,等是用來組織前端模塊的構建工具加載器。 前言 前端模塊化,主要是解決兩個問題——命名空間沖突,文件依賴管理。 坑___命名空間沖突 我自己測試好的代碼和大家合并后怎么起沖突了? 頁面腳本的變量或函數覆蓋了公有腳本的。 坑___文件依賴管理 明明項目需...

    Doyle 評論0 收藏0
  • webpack多頁應用架構系列(十四):No復制粘貼!多項目共用基礎設施

    摘要:原文地址如果您對本系列文章感興趣,歡迎關注訂閱這里前言本文介紹如何在多項目間共用同一套基礎設施,又或是某種層次的框架。而以上所述的種種,就構成了一套完整的解決方案,也稱基礎設施。下面就以從到的改造過程來介紹如何實現多項目共用基礎設施。 本文首發于Array_Huang的技術博客——實用至上,非經作者同意,請勿轉載。原文地址:https://segmentfault.com/a/1190...

    cyrils 評論0 收藏0
  • 基于vue-cli搭了一個多頁面應用空腳手架

    摘要:多頁面跳轉之前看過有相關朋友了空的多頁面腳手架不過了幾個都是或者的剛好項目需要用到就在的基礎上進行了修改已經有直接用即可如果需要修改配置的請到里面修改并且全局引了如果不需要或者不喜歡請到里面修改多頁面空腳手架鏈接如果需要路由版的在的另外一 vue2.* (多頁面跳轉) @[vue2.3.3|webpack2.6.1|less|axios] 之前看過有相關朋友share了空的多頁面腳...

    qingshanli1988 評論0 收藏0
  • [譯] Webpack 前端構建集成方案

    摘要:現在,讓我們創建項目的入口,并使用然后創建我們的配置,文件名為,的配置文件是一個,并且需要成一個對象在這里,告訴那些文件是你應用的入口。代碼分割便是用來解決之前所說的單集成模塊不可維護的引用的問題。 構建工具逐漸成為前端工程必備的工具,Grunt、Gulp、Fis、Webpack等等,譯者有幸使用過Fis、Gulp。前者是百度的集成化方案,提供了一整套前端構建方案,優點是基本幫你搞定了...

    lewif 評論0 收藏0

發表評論

0條評論

glumes

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<