动态

详情 返回 返回

npm包的main字段 - 动态 详情

背景:

將前端項目中一些常用的代碼封裝成了一個單獨的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 头像 smalike 头像 linlinma 头像 yinzhixiaxue 头像 jingdongkeji 头像 razyliang 头像 huajianketang 头像 Dream-new 头像 xiaoxxuejishu 头像 imba97 头像 zhulongxu 头像 Z-HarOld 头像
点赞 108 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.