--- tags: Learn --- # 創建自己的 library ## 關於 package.json 的檔案 可以通過 npm init 來生成 每個專案都會有這個 裡面會有依賴項目(需要安裝哪些東西的專案) 可能有 dependencies or devDependencies 也可能都沒 都沒有就是不需要 npm i 就可執行的專案 >有加 dev 的依賴項 是編譯或開發的依賴 >例如 babel 把新版js翻成舊版js 打包完專案他就無用了 ## 編譯 可以想像是化學反應 依賴項就是A程式碼是B dev依賴像是幫助產生化學反應的催化劑 最終編譯就是C ## dependencies 通常是 名稱:版本號 安裝方式在 npm 網站 npm 是 nodejs 的套件庫 一個套件在 npm 的更新與 github 的更新是分開獨立的 假設不發布到 npm 也可以用 github 網址進行套件的安裝 ## name 推 npm 時要先改裡面的 name 不要用你 clone 別人的時的名字 這個 name 就是你套件的名稱 可以跟專案資料夾名稱不同 ## 版本號 1. 向前向下相容 不需改變API寫法 => 改版本號第三位數 2. 新功能開發 舊的功能沒受影響 => 改版本號第二位數 3. 更改導致API寫法不同了 => 改版本號第一位數 ## main 指定入口文件 export default 只能是單數 其他直接 export 就好 也可以不設置 default ## gitignore 放不需被上傳的東西 比如 node_modules 要刪除 /dist 這行 ## gulp-config.js output 可以設置輸出路徑 ## author 作者 寫名字+信箱 ## license 盡可能選用這三個: "MIT" 、 "BSD" 、 "apache" 不影響到版權的話這幾種都可以任意使用 不過 apache 是給他們基金會用的 跟他們無關基本上不太會用到 另外避免使用這三種: "GNU GPL" 、 "GNU" 、 "GPL" 使用它們就必需要把自己專案強迫開源 ## scripts 是該專案的所有指令 如果跟終端機原生指令衝突 則需加上 run 比如 npm run build 就是因為 npm 本身有 build 的指令 ## 發布流程 先修改版本號 然後 build 出 dist 資料夾 並把 gitignor 的 dist 拿掉 (可以看一下 node_modules 內的套件也都是包含 dist 的) 然後要檢查入口文件位置有沒有錯 ## 發布後在其他專案中安裝此套件的方式 找到 package.json 在 dependencies 中加入 專案名稱(package.json name)與對應 github 連結(git+連結.git#版本號或分支名稱) ```json= "dependencies": { "rick-1114-lib": "git+https://github.com/xtforgame/az-dev-base.git#v1.0.0" }, ``` >版本號要在 https://github.com/帳號名稱/repo名稱/releases 新增 ## 將專案發佈到 npm 進入 npm 官網註冊/登入 然後按照發布流程走完後於終端機輸入 npm login 登入後再輸入 npm publish 即可 >可以到 npm 官網點選右上角的頭像 => Packages >就可以看到剛剛發佈的套件已經列在裡面了
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up