我正在研究一个vue项目,该项目需要使用另一个私有vue项目作为依赖项。另一个私人项目是vue插件。
通过在package.json中添加以下行,我发现了如何告诉yarn在私有gitlab存储库中获取软件包:
"dependencies": {
"myPackage": "git+https://{token-name}:{token}@gitlab.com/path/to/repo.git#someTag"
}
这很好用,我的回购内容已下载到我的node_modules
中。但是,这是我的问题:
在此存储库中,实际的vue插件不在根目录下,而是在该存储库的子文件夹下,这意味着在该存储库根目录下的index.js
不是我插件中的那个插件(我猜是它是一根纱线将要使用的。)
我有一个自定义的yarn部署脚本,该脚本将我的插件编译到一个JS文件中,并将其放在dist
文件夹中,但是dist文件夹未进行版本控制。我可以使用gitlab CI生成它,但是我仍然很确定纱线不会使用dist
文件夹中的内容。
我的(广泛的)问题是:如何使用我的配置工具(yarn,gitlab-ci)来将我的私有gitlab存储库用作其他项目之一的vue插件?
答案 0 :(得分:1)
您将通过使用package.json
的属性来告诉其他软件包如何使用软件包。例如,main declaration
{
main: 'dist/index.js'
}
这告诉节点如何从软件包中解析模块。
例如,require('my-vue-plugin')
或import MyVuePlugin from 'my-vue-plugin'
将解析为node_modules/my-vue-plugin/dist/index.js
。
就版本控制而言,您不对文件或文件夹进行版本控制。您可以通过version
的{{1}}属性进行版本控制,也可以使用package.json
您标记的版本应该与您在git tag -a v(major).(minor).(patch).
中指定的版本匹配。
我建议reading more about semantic versioning和creating a script (like VueJS)自动增加您的软件包,版本和发布。