博客地址:http://blog.csdn.net/FoxDave

用内部包进行开发

由于你的团队在开发客户端解决方案,你很可能构建通用代码库来在项目中重用。在很多情况下这种库包含的代码是内部所有的不对组织外公开的,在开发SPFx项目时,可以采用以下几种方式来应用项目中的内部库。

搭建私有包注册源

在以前,许多组织构建.NET解决方案时会搭建私有NuGet库来作为内部包的引用源地址。对于SPFx项目,它使用的是npm进行包管理,组织可以采用类似的私有注册方式来承载他们的内部包。组织内的所有项目都可以引用组织内部开发的包。

在使用私有包注册源时,组织可以选择不同的承载供应方式,在云上或者在组织内部。

使用私有包注册源允许组织集中管理在不同项目中使用的公共代码。通过定义单独的管理方案来确保代码库的高质量以促进开发团队的效率提升,而不是增加负担并拖慢了项目。

使用Visual Studio Team Services或Team Foundation Server的组织可以方便地直接在VSTS/TFS中创建一个私有的npm注册服务器。当然,如果使用其他的源代码控制系统,也可以使用其他方案来承载他们内部的包。云上比较流行的是npm Enerprise。喜欢自己承载包注册服务的组织可以选择一些开源的解决方案如SinopiaVerdaccioNexus

将包使用nmp链接进行链接

使用私有注册的一个可选方案是链接包。但是它不包括注册,需要仔细协调所有的开发者机器和构建服务器。

首先,每个开发者必须拷贝共享包到他们的机器。他们需要在命令行将路径切换到共享包的路径然后执行npm link命令。该命令会注册指定的包为该开发环境的全局包。接下来开发者需要将路径切换回项目所在路径,通过执行npm install <shared_package> --save命令来安装该包。

再强调一遍,这种方式必须在所有开发者机器和构建服务器使用npm link命令执行,否则就会出现问题。

在开发早期,同时开发共享包和项目的时候,引用链接包这种方式非常有帮助。通过这种方式你就不需要在注册源服务器上发布包的新版本以在你的项目中使用最新的代码。但是这样有一个风险需要注意,如果开发者在本地引用了某个库的一个版本而没有提交到源代码控制系统,会使团队中其他人编译失败。

私有包注册源和包链接的联合

包链接可以跟私有注册源结合使用。例如这样的场景:开发者引用链接的包,构建服务器从私有注册源获取共享库。从项目角度看没有任何变化:package.json文件中的包引用信息可以被链接的包和私有包注册源解析。要注意记得在执行编译前将最新的更改发布到私有包注册源的共享库。

由于共享库的代码使长久以来逐渐稳定下来且很少有改动的,开发者更倾向于从私有包注册源引用发布的包。

SharePoint Framework 基于团队的开发(三)的更多相关文章

  1. SharePoint Framework 基于团队的开发(二)

    博客地址:http://blog.csdn.net/FoxDave 本篇介绍SPFx项目的一般开发流程.SharePoint Framework基于开源的工具链,也遵循开源技术栈中其他项目的开发流程. ...

  2. SharePoint Framework 基于团队的开发(四)

    博客地址:http://blog.csdn.net/FoxDave 确保代码一致性和质量 软件开发团队常常同项目的一致性和高质量做斗争.不同的开发者有不同的编码风格和偏好.在每个团队都有技术优秀的独立 ...

  3. SharePoint Framework 基于团队的开发(一)

    博客地址:http://blog.csdn.net/FoxDave SharePoint Framework是新的用来构建SharePoint自定制的开发模型,它专注于客户端开发并用热门的开源工具gu ...

  4. SharePoint Framework 基于团队的开发(五)

    博客地址:http://blog.csdn.net/FoxDave 升级SharePoint Framework项目 部署SharePoint自定制解决方案到生产环境并不意味着生命周期的结束,因为还有 ...

  5. [翻译] Facebook HHVM 团队封闭开发三周成果展

    本人翻译的一篇文章,首发于伯乐在线. [补充信息]HipHop for PHP是一系列PHP脚本语言的程式码转换器的集合,它包含HPHPc.HPHPi.HPHPd以及HHVM,这四个脚本引擎各有所不同 ...

  6. Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架

    最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个 ...

  7. SharePoint Framework 开发工具和库

    博客地址:http://blog.csdn.net/FoxDave SharePoint Framework包含一些客户端JavaScript库,你可以用来构建自己的解决方案.本文提供了你可以用来 ...

  8. 基于Spring MVC的Web应用开发(三) - Resources

    基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...

  9. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发         之前提到过, ...

随机推荐

  1. 分布式消息通信Kafka-原理分析

    本文目标 TopicPartition 消息分发策略 消息消费原理 消息的存储策略 Partition 副本机制 1 关于 Topic 和 Partition 1.1 Topic 在 kafka 中, ...

  2. oracle 存储过程(分析理解)

    我的理解 比较简单(仅供参考)   存储过程就相当于java里面的方法 简单讲就是一串代码能够实现某个特定的功能,想要使用这个方法直接调用方法名就能够使用他的功能,这就是方法 oracle 存储过程也 ...

  3. 剑指offer-01

    好久没看java, 今天把 runoob 上的java基础简单过了一遍. 来吧,怎么整这个题目呢? 首先遇到的问题是java如何输入一个数组,而且这个数组并不知道长度是多少 用Scanner类 Sca ...

  4. MySQL改密码

    必须先修改my.cnf 添加 skip-grant-tables   然后  执行  update mysql.user set authentication_string=password('123 ...

  5. Win10 禁止自动更新以及禁止Windows 10升级助手(Windows 10 易升)

    微软目前已经重新启用非常烦人的Windows 10升级助手,现在该助手主要帮助用户自动下载以及安装更新. 彻底禁用: 1.在开始菜单右侧的搜索框中输入关键词控制面板,然后打开控制面板后转到程序与功能里 ...

  6. background-size cover和contain的用法详解

    我们还可以通过background-size来控制背景图片的尺寸. background-size有几个属性值,常用的是cover和contain.那么background-size:cover和co ...

  7. hive -- 协同过滤sql语句

    hive -- 协同过滤sql语句 数据: *.3g.qq.com|腾讯应用宝|应用商店 *.91rb.com|91手机助手|应用商店 *.app.qq.com|腾讯应用宝|应用商店 *.haina. ...

  8. cron 配置

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  9. 原生js封装插件

    https://www.jianshu.com/p/937c6003851a object-fit: cover:https://www.jianshu.com/p/a2ce70fa9584 flex ...

  10. 使用monitor.bat用DDMS查看其它项目的布局

    查看结果