Vue.js 如何将多个vue组件转换为一个npm包?

Vue.js 如何将多个vue组件转换为一个npm包?,vue.js,npm,vue-component,Vue.js,Npm,Vue Component,我工作的公司的项目经理告诉我,要将我们正在进行的vue项目的所有全球组件转化为一个npm包,任何参与该项目的人都可以导入并开始使用。基本上,我必须将全局组件转换成一个组件库,如vuetify,它是使用npm安装的,然后从节点模块目录导入 我想知道你们能否为我指出正确的方向,如何实现这一目标。提前谢谢 因此,无论实施方式如何,您需要的主要内容是遵循本指南,了解如何创建npm包 然后 您可以创建一个src文件夹。 在src中,您将创建一个名为“components”的文件夹,其中包含所有-duh

我工作的公司的项目经理告诉我,要将我们正在进行的vue项目的所有全球组件转化为一个npm包,任何参与该项目的人都可以导入并开始使用。基本上,我必须将全局组件转换成一个组件库,如vuetify,它是使用npm安装的,然后从节点模块目录导入


我想知道你们能否为我指出正确的方向,如何实现这一目标。提前谢谢

因此,无论实施方式如何,您需要的主要内容是遵循本指南,了解如何创建npm包

然后

您可以创建一个src文件夹。 在src中,您将创建一个名为“components”的文件夹,其中包含所有-duh-components

export { default as VDataTable } from './components/VDataTable.vue'
// ...etc
在src文件夹中,您还将创建一个index.js文件,从那里您将导出您的组件

export { default as VDataTable } from './components/VDataTable.vue'
// ...etc
选项1

如果您在项目中使用bundler,并且您知道所有代码库都将使用bundler,那么您只需使用package.json创建一个文件夹即可

在package.json中,您将

  "module": "src/index.js",
  "main": "src/index.js"
在这个场景中,您让主项目绑定器(使用包)为您传输所有包(babel,单文件组件)

选项2

如果您完全不知道可以使用您的库的项目的性质,您将需要一个组件绑定器

export { default as VDataTable } from './components/VDataTable.vue'
// ...etc
一个例子可以是汇总

我建议这两个指南

长话短说,Rollup将为您传输您请求的文件(js和css),您必须从package.json中提供这些文件

  "module": "src/dist/library.esm.js",
  "main": "src/library.common.js"
然后你可以发布你的软件包。可能是私下里,或者你可能会被解雇:P

这可能会对你有所帮助