npm發(fā)包注意

ES6語法的包需要轉(zhuǎn)換為ES5語法

  1. 安裝bebel
    npm install --save-dev babel-cli babel-preset-es2015 babel-preset-es2017 babel-preset-react

  2. 對.babelrc文件進行配置

{
    "presets": ["es2015","es2017","react"],
}
  1. 對package.json文件進行配置
    添加下面選項
"scripts": {
  "build": "babel src -d lib",
  "prepublish": "npm run build"
},

然后按需修改package.json的main這個屬性。

  1. 打包
    執(zhí)行npm publish即可

不要把node_modules同步到github

NPM默認不會把node_modules發(fā)上去。
但是github會。所以.gitignore這個文件不可少。
其常見內(nèi)容如下

node_modules/
design/
docs/
dist/
_site/
*.bak
mock/salary/vars.js
default.vm


# GIT/SVN generated files #
###########################
*.diff
*.patch
.svn/
.git/

# IDE generated files #
#######################
*.iml
.idea/
.ipr
.iws
*~
~*
.settings
.project
.lastbuildtime
.*proj
.deploy/

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

NPM發(fā)包文件白名單

當執(zhí)行npm publish命令,默認包含的文件(不區(qū)分大小寫)有

package.json
README (and its variants)
CHANGELOG (and its variants)
LICENSE / LICENCE
package.json屬性main指向的文件

默認忽略的有

.git
CVS
.svn
.hg
.lock-wscript
.wafpickle-N
.*.swp
.DS_Store
._*
npm-debug.log
.npmrc
node_modules
config.gypi
*.orig
package-lock.json (use shrinkwrap instead)

想設置發(fā)布文件的黑名單,通過.gitignore.npmignore這兩個文件來設置忽略的文件或文件夾。
果你在項目中增加了 .npmignore,那么其會完全替代掉 .gitignore 的作用。
想設置發(fā)布文件的白名單,設置package.json中的files屬性。
例如

files:["package.json","src"]

這里的優(yōu)先級是files>.npmignore>.gitignore

NPM發(fā)包步驟

參考如何發(fā)布自己模塊到NPM

NPM unpulish包

首先npmjs.org不支持刪除發(fā)布時間超過二十四小時的包。

  • 發(fā)布時間二十四小時內(nèi)的包
    npm unpublish 包名即可。
  • 發(fā)布時間超過二十四小時內(nèi)的包
    發(fā)布一個新版本。里面是空文件,覆蓋以前的包。
    然后執(zhí)行npm deprecate my-thing@"< 最新版本號"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容