Node.js Vue-发布.Vue文件或编译的组件更好吗?
编写自定义组件时,最好直接发布Node.js Vue-发布.Vue文件或编译的组件更好吗?,node.js,npm,vue.js,vuejs2,frontend,Node.js,Npm,Vue.js,Vuejs2,Frontend,编写自定义组件时,最好直接发布.vue文件,还是使用webpack/其他捆绑工具发布编译版本 奖励:发布自定义组件时,是否有关于要遵循的约定的官方文档 编辑:这两种方法的优缺点是什么?我已经发布了一些开源项目,根据经验,我可以说最好将您的代码(或者更确切地说,设置主入口点)发布为可编译的可分发代码,原因如下: 首先,通过输出UMD模块,您正在创建一个可在所有环境(webpack、browserify、CDN、AMD)中工作的可分发模块,只需将以下内容添加到您的webpack配置中即可: outp
.vue
文件,还是使用webpack/其他捆绑工具发布编译版本
奖励:发布自定义组件时,是否有关于要遵循的约定的官方文档
编辑:这两种方法的优缺点是什么?我已经发布了一些开源项目,根据经验,我可以说最好将您的代码(或者更确切地说,设置主入口点)发布为可编译的可分发代码,原因如下: 首先,通过输出UMD模块,您正在创建一个可在所有环境(webpack、browserify、CDN、AMD)中工作的可分发模块,只需将以下内容添加到您的webpack配置中即可:
output: {
...
library: 'MyPackageName',
libraryTarget: 'umd',
umdNamedDefine: true
},
其次,大多数使用webpack的开发人员会通过执行以下操作将babel loader
排除在其node\u模块
文件夹中编译脚本:
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
}
因此,如果开发人员需要自己编译您的代码,并且您的项目中有任何文件不是使用ES2015
(例如mixin)的vue
文件,那么您需要告诉开发人员将babel loader
应用到他们webpack
配置中的项目文件夹中
对于需要编译项目的browserify
开发人员,您需要添加vueify
和babelify
作为对package.json
的转换(实际上他们自己无法设置)并告诉开发人员这些是依赖项,让他们设置一个适当的.babelrc
文件
所有这些设置对于开发人员来说都是一场噩梦,许多人对他们的构建过程知之甚少,所以他们不知道排除,他们不知道转换,他们只会得到一堆错误,或者删除你的包,或者在你的repo上产生问题
这只是两个最常见的构建过程,您可能仍然需要一个CDN
,并且您仍然希望允许那些使用AMD
模块的人使用您的包,因此UMD模块是一个不错的选择
也就是说,您仍然应该自己分发.vue
文件,这也将允许开发人员在有高级配置要求的情况下编译您的项目。我已经发布了一些开源项目,根据经验,我可以说最好发布您的代码——或者更确切地说,出于以下几个原因,将主入口点设置为已编译的可分发入口点:
首先,通过输出UMD模块,您正在创建一个可在所有环境(webpack、browserify、CDN、AMD)中工作的可分发模块,只需将以下内容添加到您的webpack配置中即可:
output: {
...
library: 'MyPackageName',
libraryTarget: 'umd',
umdNamedDefine: true
},
其次,大多数使用webpack的开发人员会通过执行以下操作将babel loader
排除在其node\u模块
文件夹中编译脚本:
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
}
因此,如果开发人员需要自己编译您的代码,并且您的项目中有任何文件不是使用ES2015
(例如mixin)的vue
文件,那么您需要告诉开发人员将babel loader
应用到他们webpack
配置中的项目文件夹中
对于需要编译项目的browserify
开发人员,您需要添加vueify
和babelify
作为对package.json
的转换(实际上他们自己无法设置)并告诉开发人员这些是依赖项,让他们设置一个适当的.babelrc
文件
所有这些设置对于开发人员来说都是一场噩梦,许多人对他们的构建过程知之甚少,所以他们不知道排除,他们不知道转换,他们只会得到一堆错误,或者删除你的包,或者在你的repo上产生问题
这只是两个最常见的构建过程,您可能仍然需要一个CDN
,并且您仍然希望允许那些使用AMD
模块的人使用您的包,因此UMD模块是一个不错的选择
也就是说,您仍然应该自己分发.vue
文件,这也将允许开发人员在有高级配置要求的情况下编译您的项目。我认为这主要是基于意见的,但为什么不能两者兼而有之?除了其他地方的.vue文件外,还提供一个包含编译版本的dist文件夹。据我所知,没有任何官方文件。这两种方法的优缺点是什么?我认为这主要是基于意见,但为什么不能两者兼而有之?除了其他地方的.vue文件外,还提供一个包含编译版本的dist文件夹。据我所知,没有官方文件。这两种方法的优缺点是什么?