微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从其文件夹安装本地 NPM 包会忽略包的“文件”配置

如何解决从其文件夹安装本地 NPM 包会忽略包的“文件”配置

TL;DR 打包我的本地 npm 包工作正常,它忽略非分发文件,但从它的文件夹安装它包括所有文件

环境:

  • 节点:v14
  • NPM:v7
  • 通天塔:V7

我有一个小型的可重用组件库 (./common/components),我想在我的应用之间共享。我正在使用 Babel 将其 src 代码构建到 lib 文件夹中 - 这似乎工作正常。当我运行 npm pack 命令时,我可以看到只有 lib 文件夹和 package.json 文件包含在包 TGZ 文件中。但是当我使用 npm i ../../common/components 在我的一个应用程序中安装软件包时,所有软件包的代码srcnode_modules.babelrc.jsonpackage-lock.json 等) 包含在应用的 node_modules 文件夹中。

我做错了什么,还是我误解了什么?有没有办法让我只安装 lib 文件夹?

这是我的组件包的代码

  • package.json

    {
      "name": "components","version": "1.0.0","main": "lib/*","files": [
        "lib/*"
      ],"scripts": {
        "clean": "rimraf ./lib","postinstall": "npm run build","prebuild": "npm run clean","build": "babel src --out-dir lib --copy-files"
      },"devDependencies": {
        "@babel/cli": "7.14.5","@babel/core": "7.14.6","@babel/preset-env": "7.14.7","rimraf": "3.0.2"
      }
    }
    
  • .babelrc.json

    {
      "presets": ["@babel/preset-env"]
    }
    
  • 这是我在 npm pack 中的输出

    enter image description here

这是我的应用代码

  • package.json

    {
      ...
      "dependencies": {
        "components": "file:../../common/components",...
      },...
    }
    
  • 以下是安装到应用程序 node_modules 文件夹中的内容

    enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。