node.js - npm 发布一个仅包含 dist 文件夹子项的包

标签 node.js npm package.json 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/文件夹,然后运行 ​​npm publish来自 dist/文件夹

关于node.js - npm 发布一个仅包含 dist 文件夹子项的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48124806/

相关文章:

javascript - Vetur 找不到 package.json

npm - 如何在package.json中动态选择包管理器

node.js - 如何以编程方式运行 sequelize 迁移

node.js - 如何使用PM2生成worker

node.js - Nodejs 模块化 aws-sdk v3 大小越来越大

windows - NPM package.json 中独立于操作系统的 grunt 脚本命令

android - 如何在 React Native 中只为 iOs 或 Android 安装包

node.js - HapiJS/Joi 允许字段为具有特定键的字符串或对象

javascript - 如果您只是从 npm 下载它,为什么要将 node_modules 包含在 .gitignore 文件中?

node.js - 如何运行 mongodb-rest?