npm 发布一个仅包含 dist 文件夹子项的包
npm publish a package with only the children of dist folder
我的包裹结构如下:
mypackage
|--- src
| |--- component1
| `--- component2
`--- dist
|--- component1
`--- component2
当我将它发布到 npm 时,我希望它看起来像下面这样,没有 dist
目录:
mypackage
|--- component1
`--- component2
我的想法是,当我从这个包中导入时,导入的文件应该是这样的:
import component1 from 'mypackage/component1'
不是这个(注意额外的 dist
):
import component1 from 'mypackage/dist/component1'
如何实现?我目前在我的 package.json 中有一个文件部分,它发布了额外的 dist
但我不想要那个:
"files": [
"dist/"
]
根据 How to publish contents only of a specific folder? 的回答,这可能有用:
npm run build
cp package.json ./dist
# or, if you need to have package.json "main" entry different,
# e.g. for being able to use `npm link`, you need to replace "main"
value:
# sed 's#"main": "./dist/index.js"#"main": "./index.js"#' package.json > ./dist/package.json
cd ./dist
npm publish
所以基本上只需将 package.json 复制到 dist/
文件夹中,然后从 dist/
文件夹
中复制 运行 npm publish
我的包裹结构如下:
mypackage
|--- src
| |--- component1
| `--- component2
`--- dist
|--- component1
`--- component2
当我将它发布到 npm 时,我希望它看起来像下面这样,没有 dist
目录:
mypackage
|--- component1
`--- component2
我的想法是,当我从这个包中导入时,导入的文件应该是这样的:
import component1 from 'mypackage/component1'
不是这个(注意额外的 dist
):
import component1 from 'mypackage/dist/component1'
如何实现?我目前在我的 package.json 中有一个文件部分,它发布了额外的 dist
但我不想要那个:
"files": [
"dist/"
]
根据 How to publish contents only of a specific folder? 的回答,这可能有用:
npm run build
cp package.json ./dist
# or, if you need to have package.json "main" entry different,
# e.g. for being able to use `npm link`, you need to replace "main"
value:
# sed 's#"main": "./dist/index.js"#"main": "./index.js"#' package.json > ./dist/package.json
cd ./dist
npm publish
所以基本上只需将 package.json 复制到 dist/
文件夹中,然后从 dist/
文件夹
npm publish