Asp.net vNext 学习之路(三)

asp.net vNext 对于构建asp.net 程序带来了一些重大的改变,让我们开发asp.net 程序的时候更加的方便和高效。

  • 1,可以很容易的去管理客户端的包比如jquery,bootstrap,angular。
  • 2,能够自动的完成less 的编译,javascript 的压缩和单元测试。
  • 3,在web 开发社区有非常丰富的工具生态系统。

vs 2015 中有一些自动化的编译工具来支持一些第三方的工具,

  • 1,Bower,可以看作是web 应用的包管理工具,bower 可以安装和恢复客户端的包,包括javascript 和css 的库。一些服务端的包比如像mvc 6 的 框架,我们可以用Nuget来管理。
  • 2,Grunt和Gulp, 这两个是基于javascript 的能够自动完成日常开发任务的工具,Asp.net vNext 工程模板就是用的Grunt。
  • 3 npm(Node Package Manager),npm 就是一个包管理工具,是用node.js 开发的,Bower ,Grunt,Gulp 都是用的npm。

首先新建一个ASP.NET 5.0 started web 程序,有如下的目录结构。其中:

  • 1,project.json,是项目的工程文件,Nuget依赖的包都会列在这。
  • 2,package.json,列出npm 的包。
  • 3,bower.json,列出bower 包。
  • 4,grunfile.json,配置grunt 任务。

接下来就说说这些:
1 静态文件(static files)和wwwroot
wwwwroot 是asp.net vNext 新添加的文件夹。包括程序的html 文件,css文件,图片以及js 文件,wwwroot 位于网站的根目录,

http://localhost/ 就会指向它,静态文件的url 都是相对与这个文件夹的。代码文件应该放在wwwroot 文件夹之外,wwwroot 文件夹为代码文件和

静态文件划分了清晰的界限。
一些静态文件需要通过编译预处理来创建:
1,CoffeeScript 或则 TypeScript去编译成javascript。
2,less或者sass文件编译成css 文件。
3,压缩和javascript 文件连接。
4,优化图片。
这些编译应该在wwwroot 文件夹之外处理的。在project.json文件中我们可以任意命名wwwroot 文件夹。

2通过Bower 来管理客户端的包

我们可以在bower.json 文件中添加require.js 在dependencies 区域:

1       "dependencies": {
2         "bootstrap": "~3.0.0",
3         "jquery": "~1.10.2",
4         "jquery-validation": "~1.11.1",
5         "jquery-validation-unobtrusive": "~3.2.2",
6         "requirejs": "^2.1"

添加的时候会有只能提示。右键点击bower再点击restore package 就可以在输出窗口 看到我们我们安装的包了。

vs 会自动的还原解决方案所有的包。因而,如果我们检查我们项目中的源代码的时候 ,可以排除bower_components 文件夹。

3 使用Grunt来运行任务

gruntfile.js 文件定义了Grunt 任务,项目的模板包括一个可以运行bower 管理工具 的任务。我们可以添加一个less 文件。首先创建一个assets文件

然后右键文件夹add>new items > 选择less style sheet 命名为site.less

代码是:

1 @base: red;  body {  background-color: @base; }

这段代码的意思是设置页面的背景颜色是红色。默认情况下vs 不会做任何的处理,那 么我们就需要添加grunt 任务,步骤是:

  • 1 安装这个任务,我们可以写一个grunt 任务。
  • 2 在grunt 文件中设置这个任务。
  • 3 在vs 编译的时候绑定这个任务。

我们可以在package.json 中去添加这个任务。在devDependencies 区域中

然后在gruntfile.js 文件中写下如下代码:

 1 module.exports = function (grunt) {
 2     grunt.initConfig({
 3         bower: {
 4             install: {
 5                 options: {
 6                     targetDir: "wwwroot/lib",
 7                     layout: "byComponent",
 8                     cleanTargetDir: false
 9                 }
10             }
11         },
12         less: {
13             development: {
14                 options: {
15                     paths: ["Assets"],
16                 },
17                 files: { "wwwroot/css/site.css": "assets/site.less" }
18             },
19         }
20
21     });
22
23     // This command registers the default task which will install bower packages into wwwroot/lib
24     grunt.registerTask("default", ["bower:install"]);
25
26     // The following line loads the grunt plugins.
27     // This line needs to be at the end of this this file.
28     grunt.loadNpmTasks("grunt-bower-task");
29
30     grunt.loadNpmTasks("grunt-contrib-less");
31 };

接下来我们就可以运行这个任务了,右键 gruntfile.js 然后选择Task Runner  Exploer 我们可以看到:
   

点击less 任务 成功。

就可以看到/wwwroot/css/site.css 已经有less 编译的代码了:

页面效果:

好了,本文就到此为止。以后我还会分享关于Asp.net vNext 的有关知识。

时间: 2025-01-05 08:48:26

Asp.net vNext 学习之路(三)的相关文章

Asp.net vNext 学习之路(二)

View component(视图组件)应该是MVC6 新加的一个东西,类似于分部视图.本文将演示在mvc 6中 怎么添加视图组件以及怎么在视图中注入一个服务. 本文包括以下内容: 1,创建一个新的asp.net vNext 项目. 2,安装 KVM(K version manager). 3,如何运行EF 数据库迁移. 4,什么是 view component. 5,如何在 mvc 6 中添加一个view component . 6,如何在view 中注入一个服务. 一 创建一个新的asp.n

Asp.net vNext 学习之路(一)

概述 asp.net vNext 也叫 asp.net 5.0,意思是微软推出的下一个版本的asp.net.可以说是微软对asp.net的一个比较重大的重新设计, asp.net vNext是一 个比较理想的选择对于构建现代Web应用程序来说.它为部署到云端或者运行在本地的应用程序提供了一个优化的开发框架,它的模块化组件以最小的 开销让你可以灵活地构建你的解决方案. asp.net vNext 包括以下几个特性: 1,新的灵活和跨平台的运行时. 2,新的模块化HTTP请求管道. 3,云计算环境的

Jquery学习之路(三) 实现弹出层插件

弹出层的应用还是比较多的,登陆,一些同页面的操作,别人的总归是别人的,自己的才是自己的,所以一直以来想写个弹出层插件.不多废话,直接开始吧! 不想看可以在这里直接下载源码xsPop.zip 1:遮罩层 要弹出层,先要用一个遮罩层挡在下面的页面,此遮罩层是全屏的,页面滚动也要有,所以设置 position: fixed;还要有透明效果,下面是我定义的遮罩层css,取名mask .mask { position: fixed; width: 100%; height: 100%; backgroun

[整理]ASP.NET vNext学习资源

http://www.hanselman.com/blog/IntroducingASPNETVNext.aspx http://blogs.msdn.com/b/dotnet/archive/2014/05/12/the-next-generation-of-net-asp-net-vnext.aspx#_.NET_vNext https://github.com/aspnet http://www.asp.net/vnexthttp://www.asp.net/vnext/overview/

Redis——学习之路三(初识redis config配置)

我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. 我们就从上到下来理解一下这些配置信息中的某些配置: 1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb.我可以在安装目录文件夹下找到这个文件. 2.requirepass是密码,即连接服务器的密码,默认为空.下面我来设置一个密码然后用带密码的命令连接一遍. 3.msterauth

ASP.NET MVC 学习之路-4

本文在于巩固基础 模型绑定 从URL 获取值 public ActionResult About(int id) { ViewBag.Id = id; return View(); } @{ ViewBag.Title = "About"; } <h2> @ViewBag.Id</h2> 后面还会说到Entity Framwork C# 的主要 Razor 语法规则 Razor 代码封装于 @{ ... } 中 行内表达式(变量和函数)以 @ 开头 代码语句以分

ASP.NET MVC 学习之路-1

本文在于巩固基础 学习参考书籍:ASP.NET MVC4 Web编程 首先确定我们学习MVC的目标: 我们学习ASP.NET MVC的目的在于开发健壮的.可维护的Web应用,当然这需要一定的知识基础,需要对HTML,CSS,JavaScript以及.net框架还有C#编程语言非常的熟悉 大概了解什么是ASP.NET MVC ASP.NET MVC他是一种全新的WEB开发框架,构建在.net平台上,ASP.NET MVC能够完全支持那些提倡松耦合,高可维护性的开发模式和实践原则 了解过去是为了更好

JAVA学习之路三 编程英文汇总学习

JAVA学习中的每个章节中都有许多英文,不断熟悉工作英语也是提高编程能力很重要的一块,对于IT行业,英语才是通用语. 记在<JAVA语言程序设计>学习的第一章英文学习之后 .class file(.class文件)                       javac command(javac命令)          .java file(.java文件)            java Development Toolkit(JDK,java开发工具包)          assembl

linux学习之路三------指令篇

为什么要学习Linux命令? 1.Linux的图形界面虽然使用简单.直观,但是会占用大量系统资源,降低运行效率,增加安全的隐患. 2.学习和工作中,应尽可能使用Linux系统的命令运行界面,通过命令来完成操作. 3.要熟练掌握Linux操作系统,就必须熟练运用Linux下的各种命令,因此介绍Linux命令的基本功能和使用. 命令的使用方式,在Linux系统中打开终端的方式有以下两种: 一种是在桌面上依次单击"主程序→系统工具→终端"可打开如下图的终端窗口: 另一种是在Linux桌面上单