博客地址: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. 近视BFC

    首先按照常规解释一下名词,BFC(Block formatting context)直译为"块级格式化上下文".一个独立的渲染区域,只有Block-level box参与, 它规定 ...

  2. vim实现实时自动保存

    进https://www.vim.org/scripts/script.php?script_id=4521网站下载vim -auto-save wget  https://www.vim.org/s ...

  3. HTML和CSS查缺补漏

    margin的问题: 1.margin-top向上传递 解决:1.父元素border边框,2.父元素使用overflow:hidden 3.为父元素或者子元素声明绝对定位,4.为父元素或者子元素声明浮 ...

  4. PPI | protein-protein interaction | 蛋白互作分析

    STRING database的挖掘 这个数据库绝对是做实验人的宝藏,里面包含了各种蛋白互作关系,不用做实验就有一大堆证据. IPA了解一下,收费的高端分析软件,大部分就是整合的这个数据库,很多大佬喜 ...

  5. F1赛道 - Bahrain International Circuit | 巴林国际赛道

    刚看完F1巴林站比赛,23点到1点,整整两个小时,比赛相当精彩. 从排位赛结果看,法拉利似乎肯定包揽1-2名,可惜天公不作美,今晚风大.沙多:vettel自己失误,鼻翼掉了,还在被汉密尔顿超车的时候自 ...

  6. 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)

    laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...

  7. yml配置文件读取出错 Exception in thread "main" while scanning for the next token found character '\t(TAB)'

    这几天在学习springboot的微服务项目,在配置文件方面也想尝试下新的yml配置,就想把原来项目properties写的文件转换成yml试一下(老项目是之前检出在了eclipse里面),结果写好了 ...

  8. centos6.0和7.4默认网卡配置

    6.0 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" NM_CONTROLLED="yes&qu ...

  9. web页面锁屏初级尝试

    因为工作需要,所以在网上找了一些素材来弄这个功能.在我找到的素材中,大多都是不完善的.虽然我的也不是很完善,但是怎么说呢.要求不是很高的话.可以直接拿来用的[需要引用jQuery].废话不多说直接上代 ...

  10. boost库中的 program_options

    1.阅读rviz中的源码时在rviz/visualizer_app.cpp中遇到如下代码: po::options_description options; options.add_options() ...