發布乙個屬於自己的npm包

2021-09-24 19:28:30 字數 2858 閱讀 7224

最近做專案遇到乙個問題,很多頁面,專案初始化的時候,總是把舊專案copy乙個過來,然後刪除裡面不需要的東西,再加新專案要用的東西。做多之後感覺很繁瑣。於是想到,有沒有辦法一鍵初始化專案呢。於是調研到了發布npm包。

1.註冊npm

註冊之後,輸入命令

npm adduser
npm login
然後根據提示輸入使用者名稱,密碼,郵箱登入完成

2.建立乙個資料夾,以下是乙個例項

我建立的是 plus-init-template

進入資料夾 plus-init-template,執行

npm init
一直回車,生成package.json

在根目錄下新建index.js檔案,內容如下

//建立乙個index.js檔案,檔案內的**如下

console.log(222);

控制台輸入顯示:

表明成功,可以儲存發布

npm publish
如果出現

表示發布失敗,因為有人已經使用了該名字,那麼去package.json檔案,修改name的值,然後重新執行npm publish

發布成功之後,去npm官方**,查詢自己的包名字,可以檢視發布結果。

npm install 包名字
注意:如果發布之後,修改檔案再次發布,需要更換版本號現在,生成npm包已經可以了,接下來,就定製屬於自己的npm包。需求:我們要做的是自定義乙個npm包,該包可以自動初始化模板**。(可以把公用**放進去,初始化的時候就有乙個初始化專案檔案)專案初始化模板

先來看看例子:以下例子加了注釋在裡面,可自行研究

package.json配置如下

,

"repository": ,

"keywords": [

"template",

"typescript",

"create template",

"commander",

"download-git-repo"

],"bin": ,

"author": "zhaileilei",

"license": "isc",

"homepage": "",

"dependencies":

}

index.js寫入:

#!/usr/bin/env node

// 以上這行**必須加,加上才可以使用 bin 下面的自定義命令

const fs = require('fs');

let path = require('path');

const program = require('commander');

const chalk = require('chalk'); //美化終端

const symbols = require('log-symbols'); //美化終端

const handlebars = require('handlebars'); //修改模版檔案內容

var inquirer = require('inquirer'); //提示文字

const package = require('./package.json'); //獲取版本資訊

const re = new regexp("^[a-za-z0-9-]+$"); //檢查檔名,字母數字中劃線

var mydate = new date();

if (obj < 10) return "0" + "" + obj;

else return obj;

}program

.version(package.version, '-v,--version')

.command('init ') //規定的輸入方式 ,需要 init **

.action(name =>

if (!fs.existssync(name)) , err => else /$`;

function myreadfile(myurl) /src/index.html` || fpath == `$/webpack-user-config.js`) );

fs.writefilesync(fpath, result);} }

else

})})})}

myreadfile(name);

}});

});} else

});program.parse(process.ar**);

配置好後執行:

npm i -g
只有執行這個命名了,配置的bin下面的命令才可以使用。這樣,其他檔案需要此npm的時候,執行

npm install 包名

plus init **

刪除npm包  

npm --force unpublish 包名

npm發布乙個包

我們已經實現了路由的自動化構建,但是我們可以看到,一大串 懟在裡面。當然你也可以說,把它封裝在乙個js檔案裡面,然後使用require autoroute.js 給引入進來,那也行。但是,為什麼不把心放大一點呢?比如說,我們把它做成乙個npm包!最初自己做的時候就是這種直接引入封裝的js檔案裡,可以...

發布乙個npm包

我這裡是寫了乙個vue輪播圖外掛程式,因此我使用了vue的腳手架工具建立乙個專案,當然你也可以選擇自己搭建腳手架。本例中我會使用vue腳手架建立乙個專案,並發布到npm上面去。全域性安裝 首先,要建立專案,封裝vue的外掛程式用webpack 很合適,因此你需要全域性安裝 vue cli init外...

node使用 發布乙個自己的npm包以及包的管理

cd sg utils 切換到專案根目錄 npm init 建立package.json,一路回車就好 更多package.json內容請參照 node使用 package.json詳解以及package lock.json的作用 npm login1 輸入使用者名稱 密碼 郵箱,按照註冊時的資訊填...