什么是Libman

微软在Visual Studio 2017 15.8版本中内嵌了一个新的工具Library Manager。

Library Manager(简称Libman)是一个客户端库管理工具, 使用它可以很容易的管理项目中使用的客户端js库, css库等,Libman相当于一个针对客户端库的Nuget,而且Libman并不是指针对.NET项目的,非.NET项目也可以使用。

注意: 这个工具暂时只是一个实验阶段的工具。

如何使用Libman

下面我们来通过一个小例子演示一下如何使用Libman

添加项目

为了体现Libman并不只针对.NET项目,我们创建一个空文件夹Code, 并在其中创建一个名为libs的子目录, 并使用Visual Studio 2017以Website的方式打开它

然后我们可以右键点击code站点, 选择Manage Client-Side Library

点击之后,code目录中就会生成一个libman.json文件, libman.json是Libman的配置文件,其默认内容如下

{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}

libman.json中的配置项

  • defaultProvider

    这个参数指定了默认使用客户端库的来源, Libman提供了3种可选的来源。

    • cdnjs - 默认来源
    • filesystem - 来自本地文件
    • unpkg - 一个全球cdn
  • defaultDestination

    客户端库的默认存储位置

  • libraries

    客户端库列表

添加jQuery 3.3.1

下面我们修改libraries节点中,添加对jquery 3.3.1的引用

{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.3.1",
"destination": "libs/jQuery_3.3.1",
"provider": "cdnjs"
}
]
}
  • library - 客户端库的名称, 格式是“包名@版本号”
  • destination - 客户端库在当前项目中的存储位置
  • provider - 客户端库的来源

这里如果你不是粘贴代码话,手动输入会出现代码提示,Visual Studio会根据你的输入匹配最接近的包名并列出所有可用的版本。

手动恢复客户端库

修改完成后,我们右键点击libman.json, 选择Restore Client-Side Libraries

我们所需的客户端库就自动下载并导入到项目指定目录中了。

Build时自动恢复客户端库

除了手动恢复客户端库,Visual Studio还提供了一个Enable Restore Client-Side Libraries on Build的选项,即项目Build时自动恢复所需的客户端库。

选择该项之后,Visual Studio会弹出一下提示

点击确认之后,项目中会出现一个package.json, 里面添加了对Microsoft.Web.LibraryManager.Build库的引用

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Web.LibraryManager.Build" version="1.0.163" targetFramework="net40" />
</packages>

如果当前是一个.NET项目,这个引用会出现在csproj文件中

<Project Sdk="Microsoft.NET.Sdk.Web">  

<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.163" />
</ItemGroup> </Project>

总结

Libman是对Visual Studio很好的补充(之前大部分都是使用bower等类似组件来管理), 它可以帮助开发人员管理客户端库,避免了开发人员手动下载并引入客户端库造成混乱,有兴趣的同学可以尝试一下。

Visual Studio 2017中使用Libman管理客户端库的更多相关文章

  1. 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序

    如何在Visual Studio 2017中使用C# 7+语法   前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...

  2. 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  3. 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  4. Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作

    Visual Studio 2017中使用正则修改部分内容   最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效 ...

  5. 在Visual Studio 2017中,.NET(C#)通过Oracle.ManagedDataAccess来连接Oracle数据库

    C#如何通过Oracle.ManagedDataAccess来连接Oracle数据库 1.先创建一个项目,鼠标右击项目中的引用,再点击管理NuGet程序包(也可以先下载dll文件,再选添加引用),在搜 ...

  6. 【C++】GSL(GNU Scientific Library) 的安装及在 Visual Studio 2017 中的使用

    GSL 是 GNU 开发并维护的科学计算的库,其中包括: 复数 多项式的根 特殊函数 向量和矩阵 排列 排序 BLAS支持 线性代数 Eigensystems 快速傅立叶变换 正交 随机数 准随机序列 ...

  7. Visual Studio 2017中使用SourceLink调试ASP.NET Core源码

    背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ...

  8. Visual studio 2017中 Javascript对于Xrm对象模型没有智能提示的解决办法

    Visual studio 2017中 Javascript对于Xrm对象模型没有智能提示的解决办法 先上个图.语法提示支持到 Microsoft Dynamics xRM API 8.2 也就是cr ...

  9. Visual studio 2017 中的Javascript智能提示与调试

    1.智能提示 对于JS文件中的API,你若需要让那个JS文件中的方法能够在你写的那个JS文件中能够智能显示的话,直接把它拉进你的JS文件中就好了. 举个例子:你想 在你正在写的a.js文件中引用b.j ...

随机推荐

  1. redis对string进行的相关操作

    redis对string类型操作的相关命令以及如何在python使用这些命令 redis对string类型操作的命令: 命令 语法 概述 返回值 Redis SET 命令  set key value ...

  2. ASP.NET Aries 开发框架(已支持.NET Core)

    背景: 当年,在卖弄与开源QBlog时,也曾想过把QBlog的开发理念整理整理,独立一个框架来开源. 不过,人越长大就越憔悴,激情终敌不过疲惫的惰性,最终无痕而终,连3.0的版本也没开源出来. 关于框 ...

  3. powershell_基础篇

    powershell 想必大家对windows操作系统下的cmd命令提示符可能并不陌生,大多数人都应该使用过它.而对于今天我们要学习的PowerShell跟cmd有什么关系呢?可以简单地说,Power ...

  4. 类型后面加问号 int?

    类型后面加问号 int? 单问号---用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0! 双问号---用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过 ...

  5. Tips_信息列表(手风琴)效果的多种实现方法

    效果图: 一.纯CSS实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  6. 纯css修改单选、复选按钮样式

    只支持IE9及以上 html <label><input class="radio" type="radio" name="radi ...

  7. java从pdf中提取文本

    一(单文件转换):下载pdfbox包,百度搜pdfbox.(fontbox-1.8.16.jar和pdfbox-app-1.8.16.jar) package pdf; import java.io. ...

  8. conda 查看已有环境

    conda info -e # conda environments: # dlcv /Users/enzhao/suanec/libs/anaconda2/envs/dlcv py36 /Users ...

  9. Java 设计模式(概述)

    设计模式的三个分类                                                                                   创建型模式:对象 ...

  10. unittest中的测试固件

    运行下面的两段代码,看看有什么不同? 第一段: import unittest from selenium import webdriver class F2(unittest.TestCase): ...