前端开发的代码如何进行公共源码管理(多个项目间)?

圣殿骑士18 2018-10-11 09:13:07
我们知道在Visual Studio中,使用类库项目管理公共源码是非常通用的做法。
而多个Web项目的公共文件(比如通用的js文件)在Visual Studio中的共享,也可以做到:以“链接”的方式引用即可。

但现在开发工具有变,现在我使用 angular框架 做前端开发,使用的开发工具是Visual Studio Code。
那么如何在多个项目间使用公用代码呢?是不是有插件什么的能做到?
...全文
1372 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
东川奇永 2018-10-15
  • 打赏
  • 举报
回复
ECS精英
weixin_43401584 2018-10-13
  • 打赏
  • 举报
回复
文件引用链接做法,实际上并不能引用目录。
圣殿骑士18 2018-10-11
  • 打赏
  • 举报
回复
引用 12 楼 sp1234 的回复:
如果链接引用可以适用到目录,那么我们自然希望目录下的文件的新增和删除也自动同步。

在共享文件夹中新增一个代码文件,比如说 abc.ts 文件,然后”执行“目标工程,它并没有自动将 abc.ts 或者编译之后的 abc.js 文件同步到到目标工程中。所以这就鸡肋了,等于手动引用个别单个文件,还要手动地确保所有相关工程都设置一遍引用。


是的,其实我说的可以链接,仅限于传统的web开发,js就是手写的js,html就是手写的html。对ts编译成js再同步这种新的web开发模式可以说事不支持的。
我也不会用vs做前端开发,功能和真正的前端工具vscode,webstorm差太多了。

通过链接的方式,在做传统的web开发时,体验还是不错的。除了第一步,拖动链接这功能非常隐蔽,而且需要非常高的操作技巧。
它的原理是:
1、在项目上打开修改某个js文件,实际上修改的是源头的文件
2、在项目上修改完js要测试时,要先编译一下项目,编译时,项目会从源项目中复制一份拷贝到当前项目下。
  • 打赏
  • 举报
回复
如果链接引用可以适用到目录,那么我们自然希望目录下的文件的新增和删除也自动同步。
  • 打赏
  • 举报
回复
vs 在用户体验上总是只差一点、总是只差一点儿!!没有过去那种的微软文化——彻底的架构和测试。
  • 打赏
  • 举报
回复
引用 5 楼 daixf_csdn 的回复:
[quote=引用 2 楼 sp1234 的回复:] ”以链接的方式引用“只适合指定个别文件,不适合源文件目录。所以仅仅是偶尔引用单个文件、非项目工程化的需求。
可以适用目录的。我的操作方式是:按住alt键,拖动到目标项目即可 操作上,按下Shift移动,按下Ctrl是复制,按下Alt是链接。 wanghui0380说的共享项目,我没找到? 我用vs2015 [/quote] 这只是引用了个别文件,并不是自动同步目录。而开发中可能经常要增加大量文件,并且许多工程都要批量引用它。 在共享文件夹中新增一个代码文件,比如说 abc.ts 文件,然后”执行“目标工程,它并没有自动将 abc.ts 或者编译之后的 abc.js 文件同步到到目标工程中。所以这就鸡肋了,等于手动引用个别单个文件,还要手动地确保所有相关工程都设置一遍引用。
圣殿骑士18 2018-10-11
  • 打赏
  • 举报
回复
引用 4 楼 masanaka 的回复:
你说的是Visual studio里类似Library Manager(provider:filesystem)的方式吗?
https://blogs.msdn.microsoft.com/webdev/2018/04/17/library-manager-client-side-content-manager-for-web-apps/

Code里貌似没有,不过既然是web项目的资源共享,不考虑搭建个CDN吗?

我看了,这是Visual studio下的。不是Visual studio Code下的。而且Visual studio下已经可以通过链接共享了,还搞这个东西干嘛,奇怪了。
  • 打赏
  • 举报
回复
vs 在传统的目标平台网站项目中无法引用共享项目,反而是在类库项目中能引用共享项目。vs 设计真的是很鸡肋。
wanghui0380 2018-10-11
  • 打赏
  • 举报
回复
圣殿骑士18 2018-10-11
  • 打赏
  • 举报
回复
引用 3 楼 wanghui0380 的回复:
现在的vs里面已经有“共享项目”这么一说了,Visual Studio Code里有没有不知道。

不过就算没有,也可以自己建立私有代码仓库,比如私有的git。最起码Visual Studio Code不至于连git都不支持对吧


一个git库的某个js文件,是可以复制到多个项目的各自文件夹下的吗?
圣殿骑士18 2018-10-11
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
”以链接的方式引用“只适合指定个别文件,不适合源文件目录。所以仅仅是偶尔引用单个文件、非项目工程化的需求。

可以适用目录的。我的操作方式是:按住alt键,拖动到目标项目即可



操作上,按下Shift移动,按下Ctrl是复制,按下Alt是链接。

wanghui0380说的共享项目,我没找到? 我用vs2015
masanaka 2018-10-11
  • 打赏
  • 举报
回复
你说的是Visual studio里类似Library Manager(provider:filesystem)的方式吗?
https://blogs.msdn.microsoft.com/webdev/2018/04/17/library-manager-client-side-content-manager-for-web-apps/

Code里貌似没有,不过既然是web项目的资源共享,不考虑搭建个CDN吗?
wanghui0380 2018-10-11
  • 打赏
  • 举报
回复
现在的vs里面已经有“共享项目”这么一说了,Visual Studio Code里有没有不知道。

不过就算没有,也可以自己建立私有代码仓库,比如私有的git。最起码Visual Studio Code不至于连git都不支持对吧
  • 打赏
  • 举报
回复
”以链接的方式引用“只适合指定个别文件,不适合源文件目录。所以仅仅是偶尔引用单个文件、非项目工程化的需求。
  • 打赏
  • 举报
回复
微软核心技术框架最近10年似乎没有什么战略层面主导各个团队的架构师了,vs估计不会在这方面有什么创新。现在唯一的办法,只是在目标工程的属性设置中写”编译前dos指令“,将另外一个或者几个工程里边的文件copy到当前工程里边来。 当然这个方式简单粗暴,缺乏目录打包、文件版本检查,所以分分钟都可能出错(例如不小心用旧文件覆盖了新版本文件)。
  • 打赏
  • 举报
回复
另外最为坑爹的事情是,类似 typescript 这类现代的强类型 js 生成和调试方式,vs 和 ts 合作之后竟然是把 js 直接生成在所引用的源目录,而不是生成在目标目录。这就只能根本放弃了这种方式。
  • 打赏
  • 举报
回复
文件引用链接做法,实际上并不能引用目录。因为用“Alt+拖动目录”方式引用目录其他工程目录只能是第一次引用时这样操作,而开发时是增量开发新文件的,每增加一个功能都在工程中会增加多种文件,这时候再来用这个方式引用目录就会失败——因为目标文件夹已经存在同名文件了,所以这其实还是单个文件逐一手动设置引用模式。 那么假设一个工程中的几个文件夹,分别被引用到不同工程中。那么每一个目标文件夹到底需要从源文件夹中“新增引用”什么文件,vs并没有自动比对功能。vs就是缺乏这个功能。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧