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