首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编写依赖父构建工具的Vue组件的正确方法

编写依赖父构建工具的Vue组件的正确方法
EN

Stack Overflow用户
提问于 2017-03-23 00:51:42
回答 3查看 640关注 0票数 7

我认为这个问题将适用于其他框架,这些框架有一些插件/组件生态系统,依赖于特定的构建工具(使用JSX来响应组件,等等)。Vue只是我的用例。

我以单个.vue文件的形式编写了几个Vue组件,并将其发布到NPM。这些组件的package.json没有列出任何依赖项,因为它们本身是要在使用webpack、vue-loader、sass-loader等这是这样一个组件的示例。的父项目中工作的。

我不确定如何最好地声明这些组件依赖于父包,并且提到了构建工具。我不相信devDependencies是正确的位置,因为组件本身没有依赖于这些步骤的开发步骤。peerDependencies似乎更合适,但我也不相信这与我正在努力实现的目标相匹配。

纵观真棒-vue存储库上的许多组件,我看不到peerDependencies的任何使用,而devDependencies似乎与特定组件本身的开发相关。

编写这些组件的正确方法是什么?就好像我需要"peerDevDependencies“之类的东西。

EN

回答 3

Stack Overflow用户

发布于 2017-04-10 10:34:03

不幸的是,大多数组件已经被编译好了。

在我看来,分发组件的最好方法是以main的形式编写组件的原始.vue文件。

您不应该指定使用任何特定的工具,拿起您的包的开发人员应该可以自由使用他们想要的工具,不管是Browserify还是Rollup (或者Webpack)。原始的.vue格式允许他们用他们想要的任何工具编译.vue组件,并使用他们想要的任何Vue版本(当然,在一定范围内)。

此外,我喜欢做的是让用户可以立即使用组件,即使在浏览器中也是如此,只将Vue作为<script>依赖项。为此,您必须编译它,是的,将Vue指定为peerDependency,因为它在页面中是必需的。

您可以在package.json中放置元信息,告诉CDN在浏览器中获取编译后的版本,这非常方便,因此用户只需指定包的名称,而不必担心文件名或版本。

票数 1
EN

Stack Overflow用户

发布于 2017-04-15 15:28:24

仅作为Vue.js组件的使用者,我认为将构建依赖项指定为peerDependencies是最好的解决方案。您使用的是一个相当标准的构建管道,但我认为指定它们是很重要的。这些不是严格意义上的devDependencies或依赖关系,取决于最终用户将在何处编译它们。

票数 0
EN

Stack Overflow用户

发布于 2017-04-11 23:41:48

我建议您对原始vue文件在package.json上使用package.json属性,将"main"用作编译文件。module是一个正在标准化的物业,webpack和罗琳已经了解它了。

有关更多信息,请参见s购买多平台npm软件包文章

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42965304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档