前端腳手架搭建(一):lerna使用

npm初始化

新建文件夾spring-breeze,在集成終端輸入
npm init -y
根目錄會(huì)生成package.json:

{
  "name": "spring-breeze",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

安裝lerna

全局安裝lerna
執(zhí)行:npm i lerna -g
安裝完成后執(zhí)行:lerna init
執(zhí)行完成后后出現(xiàn)這樣的目錄結(jié)構(gòu)

- packages(目錄)
- lerna.json(配置文件)
- package.json(工程描述文件)

初始化兩個(gè)package

默認(rèn)情況下,package是放在packages目錄下的.創(chuàng)建包可以使用命令lerna create <name> [loc]
lerna create core packages/core
lerna create core packages/tools
或者手動(dòng)創(chuàng)建,這里采用手動(dòng)創(chuàng)建
在packages新建兩個(gè)package(包)文件:core和tools并分別執(zhí)行:npm init -y
修改core和tools中packages的main:bin/index.js
分別在core和tools新建bin/index.js

#!/usr/bin/env node
console.log("我是tools包~~")
#!/usr/bin/env node
console.log("我是core包~~")

此時(shí)目錄結(jié)構(gòu)為

-- packages(目錄)
  -- core
    -- bin
      -- index.js 
  - tools
    -- bin
      -- index.js 
- lerna.json(配置文件)
- package.json(工程描述文件)

安裝第三方包lerna add

  • 添加公共依賴

    在根目錄下執(zhí)行(在哪個(gè)目錄執(zhí)行都一樣):lerna add lodash
    此時(shí)會(huì)發(fā)現(xiàn)core和tools都被安裝了lodash

  • 添加單獨(dú)依賴

    lerna add jquery --scope=core
    core就會(huì)被安裝了jquery

刪除依賴lerna clean

執(zhí)行l(wèi)erna clean會(huì)刪除所有包中的node_modules

安裝所有依賴lerna bootstrap

執(zhí)行l(wèi)erna bootstrap會(huì)重新安裝所有依賴

發(fā)布前準(zhǔn)備

  • 注冊(cè)npm賬戶
  • 新建組織spring-breeze(根據(jù)自己項(xiàng)目而定)
  • 分別修改core和tools中package.json中name為:@spring-breeze/core、@spring-breeze/tools防止重名
  • 執(zhí)行npm login
  • 分別在core和utils下的package.json中配置
 "publishConfig": {
    "access": "public"
  }
  • 新建gitignore
*node_modules
  • 新建git倉庫,將項(xiàng)目git remote add "你的git倉庫",并且提交項(xiàng)目至git倉庫
git remote add https://gitee.com/geeksdidi/spring-breeze.git  
git add .   
git commit -m "初始化"
git push -u origin master
  • 新建LICENSE.md(不加會(huì)報(bào)錯(cuò))
  • 修改一個(gè)文件執(zhí)行 lerna publish

查看已發(fā)布的package

登陸npm官網(wǎng) 即可看到自己發(fā)布的package

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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