JP *_*dom 5 node.js npm node-modules babeljs npm-install
TL;DR 打包我的本地 npm 包工作正常,它忽略非分发文件,但从它的文件夹安装它包括所有文件。
环境:
我有一个小型可重用组件库 ( ./common/components),我想在我的应用程序之间共享。我正在使用 Babel 将其src代码构建到一个lib文件夹中 - 这似乎工作正常。当我运行npm pack命令时,我可以看到只有lib文件夹和package.json文件包含在包 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"
}
}
Run Code Online (Sandbox Code Playgroud)
.babelrc.json:
{
"presets": ["@babel/preset-env"]
}
Run Code Online (Sandbox Code Playgroud)
这是我的输出npm pack:
这是我的应用程序的代码:
package.json:
{
...
"dependencies": {
"components": "file:../../common/components",
...
},
...
}
Run Code Online (Sandbox Code Playgroud)
以下是安装到应用程序node_modules文件夹中的内容:
| 归档时间: |
|
| 查看次数: |
1049 次 |
| 最近记录: |