最近做專案遇到乙個問題,很多頁面,專案初始化的時候,總是把舊專案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 輸入使用者名稱 密碼 郵箱,按照註冊時的資訊填...