#node.js #npm #babeljs #node-modules #npm-install
Вопрос:
TL;DR Упаковка моего локального пакета npm отлично работает, и он игнорирует файл, не распространяемый, но установка его из папки включает все файлы.
Окружающая среда:
- Узел: v14
- NPM: v7
- Вавилон: V7
У меня есть небольшая библиотека компонентов многократного использования ( ./common/components
) Я хочу делиться между своими приложениями. Я использую Babel для встраивания src
кода в lib
папку, которая, похоже, работает нормально. Когда я запускаю npm pack
команду, я вижу, что lib
package.json
в файл package TGZ включаются только папка и файлы. Но когда я устанавливаю пакет в одно из своих приложений с npm i ../../common/components
помощью , весь код пакета ( src
, node_modules
, .babelrc.json
package-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
:
Вот код моего приложения: