Stories

Detail Return Return

npm包的main字段 - Stories Detail

背景:

將前端項目中一些常用的代碼封裝成了一個單獨的npm包放在私服上,其他項目使用時通過install安裝後,webpack構建時提示找不到該npm包,

This dependency was not found:

* @b/sm2 in ./src/utils/js/common.js

To install it, you can run: npm install --save @b/sm2

排查

1、在本地檢查時,發現 node_modules/@b/sm2 確實存在:

ls node_modules/@b/sm2   # ✅ 有文件
ls @b/sm2                # ❌ 報錯,因為不會直接在根目錄生成

説明依賴安裝成功,但編譯器依然提示找不到。
2、檢查 package.json 的 main 字段

// package.json
{
  "name": "@b/sm2",
  "main": "dist/index.js"
}

發現main字段配置的入口不對,於是先在node_modules裏面直接修改正確的main字段,發現問題解決了。趕緊去修改npm包的源碼,重新發版,至此,問題解決。

擴展

對package.json的main和bin字段一直容易混淆,這裏重新查了一下:
image.png

user avatar haoqidewukong Avatar smalike Avatar linlinma Avatar yinzhixiaxue Avatar jingdongkeji Avatar razyliang Avatar huajianketang Avatar Dream-new Avatar xiaoxxuejishu Avatar imba97 Avatar zhulongxu Avatar Z-HarOld Avatar
Favorites 108 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.