npm 发布仅包含 dist 文件夹子项的包

Nar*_*esh 7 node.js npm package.json npm-publish

我的包结构如下:

mypackage
   |--- src
   |     |--- component1
   |     `--- component2
   `--- dist
         |--- component1
         `--- component2
Run Code Online (Sandbox Code Playgroud)

当我将它发布到 npm 时,我希望它看起来像下面这样,没有dist目录:

mypackage
   |--- component1
   `--- component2
Run Code Online (Sandbox Code Playgroud)

这个想法是,当我从这个包中导入时,导入应该是这样的:

import component1 from 'mypackage/component1'
Run Code Online (Sandbox Code Playgroud)

不是这个(注意额外的dist):

import component1 from 'mypackage/dist/component1'
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标?我目前在我的 package.json 中有一个文件部分,它发布了额外的内容dist,我不希望这样:

"files": [
  "dist/"
]
Run Code Online (Sandbox Code Playgroud)

小智 11

基于如何仅发布特定文件夹的内容?这可能有用:

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
Run Code Online (Sandbox Code Playgroud)

所以基本上只需将您的 package.json 复制到dist/文件夹中,然后npm publishdist/文件夹中运行

  • 谢谢你!这应该记录在 npm 的文档中 (2认同)