SharePoint Framework 基于团队的开发(三)
博客地址:http://blog.csdn.net/FoxDave
用内部包进行开发
由于你的团队在开发客户端解决方案,你很可能构建通用代码库来在项目中重用。在很多情况下这种库包含的代码是内部所有的不对组织外公开的,在开发SPFx项目时,可以采用以下几种方式来应用项目中的内部库。
搭建私有包注册源
在以前,许多组织构建.NET解决方案时会搭建私有NuGet库来作为内部包的引用源地址。对于SPFx项目,它使用的是npm进行包管理,组织可以采用类似的私有注册方式来承载他们的内部包。组织内的所有项目都可以引用组织内部开发的包。
在使用私有包注册源时,组织可以选择不同的承载供应方式,在云上或者在组织内部。
使用私有包注册源允许组织集中管理在不同项目中使用的公共代码。通过定义单独的管理方案来确保代码库的高质量以促进开发团队的效率提升,而不是增加负担并拖慢了项目。
使用Visual Studio Team Services或Team Foundation Server的组织可以方便地直接在VSTS/TFS中创建一个私有的npm注册服务器。当然,如果使用其他的源代码控制系统,也可以使用其他方案来承载他们内部的包。云上比较流行的是npm Enerprise。喜欢自己承载包注册服务的组织可以选择一些开源的解决方案如Sinopia或Verdaccio或Nexus。
将包使用nmp链接进行链接
使用私有注册的一个可选方案是链接包。但是它不包括注册,需要仔细协调所有的开发者机器和构建服务器。
首先,每个开发者必须拷贝共享包到他们的机器。他们需要在命令行将路径切换到共享包的路径然后执行npm link命令。该命令会注册指定的包为该开发环境的全局包。接下来开发者需要将路径切换回项目所在路径,通过执行npm install <shared_package> --save命令来安装该包。
再强调一遍,这种方式必须在所有开发者机器和构建服务器使用npm link命令执行,否则就会出现问题。
在开发早期,同时开发共享包和项目的时候,引用链接包这种方式非常有帮助。通过这种方式你就不需要在注册源服务器上发布包的新版本以在你的项目中使用最新的代码。但是这样有一个风险需要注意,如果开发者在本地引用了某个库的一个版本而没有提交到源代码控制系统,会使团队中其他人编译失败。
私有包注册源和包链接的联合
包链接可以跟私有注册源结合使用。例如这样的场景:开发者引用链接的包,构建服务器从私有注册源获取共享库。从项目角度看没有任何变化:package.json文件中的包引用信息可以被链接的包和私有包注册源解析。要注意记得在执行编译前将最新的更改发布到私有包注册源的共享库。
由于共享库的代码使长久以来逐渐稳定下来且很少有改动的,开发者更倾向于从私有包注册源引用发布的包。
SharePoint Framework 基于团队的开发(三)的更多相关文章
- SharePoint Framework 基于团队的开发(二)
博客地址:http://blog.csdn.net/FoxDave 本篇介绍SPFx项目的一般开发流程.SharePoint Framework基于开源的工具链,也遵循开源技术栈中其他项目的开发流程. ...
- SharePoint Framework 基于团队的开发(四)
博客地址:http://blog.csdn.net/FoxDave 确保代码一致性和质量 软件开发团队常常同项目的一致性和高质量做斗争.不同的开发者有不同的编码风格和偏好.在每个团队都有技术优秀的独立 ...
- SharePoint Framework 基于团队的开发(一)
博客地址:http://blog.csdn.net/FoxDave SharePoint Framework是新的用来构建SharePoint自定制的开发模型,它专注于客户端开发并用热门的开源工具gu ...
- SharePoint Framework 基于团队的开发(五)
博客地址:http://blog.csdn.net/FoxDave 升级SharePoint Framework项目 部署SharePoint自定制解决方案到生产环境并不意味着生命周期的结束,因为还有 ...
- [翻译] Facebook HHVM 团队封闭开发三周成果展
本人翻译的一篇文章,首发于伯乐在线. [补充信息]HipHop for PHP是一系列PHP脚本语言的程式码转换器的集合,它包含HPHPc.HPHPi.HPHPd以及HHVM,这四个脚本引擎各有所不同 ...
- Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架
最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个 ...
- SharePoint Framework 开发工具和库
博客地址:http://blog.csdn.net/FoxDave SharePoint Framework包含一些客户端JavaScript库,你可以用来构建自己的解决方案.本文提供了你可以用来 ...
- 基于Spring MVC的Web应用开发(三) - Resources
基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发 之前提到过, ...
随机推荐
- Crashing Robots(水题,模拟)
1020: Crashing Robots 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 总提交: 207 测试通过:101 ...
- CSS之实现垂直时间线展示相关内容效果
如下,最近在工作中遇到实现时间线效果的需求,用纯css即可实现,下面给出详细实现代码. html: <div class="time_line_list_wrap hide" ...
- Windows下安装和卸载MangoDB服务 --MangoDB
1.创建存放的数据文件夹和日志文件 2.安装MangoDB服务:(如数据文件夹路径是:d:/MongoDB/db/,日志文件路径:d:/MongoDB/log.txt) mongod --dbpath ...
- windows下载mysql5.7压缩包配置安装mysql
windows安装mysql5.7有两种方式 1.下载.msi安装文件直接根据界面提示进行安装 2.下载.biz或.zip压缩包 注:本次在win10系统下使用压缩包进行安装mysql5.7 mysq ...
- 20165309 《网络对抗技术》 Kali安装
20165309 <网络对抗技术> Kali安装 1. 目的要求 下载 安装 网络 共享 软件源 2. 主要步骤 下载系统镜像文件 进入Kali官网下载,我选择的是64位版本: 虚拟机设置 ...
- spring cloud(五)熔断监控Hystrix Dashboard和Turbine
Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...
- application.xml中配置文件properties导入
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.Prop ...
- ArcGIS中KML转为shp文件
问题:如何将KML转为shp文件? 方法: 1.打开ArcMap -> ArcToolbox: 2.在ArcToolbox中选择“转换工具”-> “由KML转出” -> “KML转图 ...
- 基于RabbitMQ rpc实现的主机管理
要求: 文件分布: 流程图: import pika import os import socket class Server(object): def __init__(self, queuenam ...
- eXosip2 编译安装
eXosip2-3.6.0 编译安装 刚开始我使用了 下面文章介绍里版本 我以为不支持tcp 其实是因为我服务端的端口 没有写对. https://www.cnblogs.com/elisha-bl ...