解读ASP.NET 5 & MVC6系列教程(2):初识项目(4)

/*压缩css*/ cssmin: { target: { options: { sourceMap: true, }, files: { /*输出文件路径:原始文件路径*/ 'wwwroot/css/site.min.css': 'wwwroot/css/site.css' } } }

最后再注册此插件,代码如下:

grunt.loadNpmTasks('grunt-contrib-cssmin'); /*压缩css*/

这样,你就可以在Task Runner Explorer面板中看到cssmin任务,然后运行它了,当然你也可以将该任务和default任务一起添加到编译构建之前进行执行。代码如下:

/// <binding BeforeBuild='default, cssmin' />

另外,在给一些例子,一个是用于js压缩,一个是用于less编译,代码如下:

/*package.json*/ "grunt-contrib-uglify": "0.9.1", "grunt-contrib-less": "1.0.1" /*gruntfile.js*/ /*压缩js*/ uglify: { target: { options: { sourceMap: true, }, files: { 'wwwroot/Scripts/site.min.js': 'wwwroot/Scripts/site.js' } } }, /*编译less*/ less: { //开发版(无压缩) development: { options: { sourceMap: true }, files: { 'wwwroot/Styles/site.css': 'wwwroot/Lesses/site.less' } }, //生产版(压缩) production: { options: { compress: true }, files: { 'wwwroot/Styles/site.min.css': 'wwwroot/Lesses/site.less' } } } /*...*/ grunt.loadNpmTasks('grunt-contrib-uglify'); /*压缩js*/ grunt.loadNpmTasks('grunt-contrib-less'); /*编译less*/

建议:不要在多个时期都绑定同一种任务。
推荐:grunt还有一个插件用于监控文件的修改,比如兼容css文件的修改,一旦修改了就调用css的压缩命令,详情请参考grunt-contrib-watch插件。

config.json

config.json就是以前的web.config,但是没有web.config拥有各种类型的配置那么强大,其中各种功能的配置都以代码的形式转移到Startup.cs文件中了;另外一部分信息配置内容,则放在config.json文件中以json的格式进行保存。

注意,该文件的信息默认并没有自动加载,而是需要自己手工加载该配置信息,代码如下:

//Startup.cs类的构造函数中 Configuration = new Configuration() .AddJsonFile("config.json") .AddEnvironmentVariables();

通过Configuration实例加载该配置文件,保存在Configuration属性中,以便可以在其它地方进行使用,而使用时候的key值,则是按照层级来定义的,以如下默认内容来说:

{ "AppSettings": { "SiteTitle": "WebDemo01" } }

要获取链接字符串,则需要使用如下key值:

var connString = Configuration.Get("AppSettings:SiteTitle");

使用起来,没有web.config方便了,但是为了兼容其它操作系统,只能这样了。

注意:在ASP.NET5中,配置信息不仅支持json格式,还支持ini、xml等格式,具体详细请参考后续的配置信息管理章节。

Startup.cs

Startup.cs是整个程序的启动入口,类似于Global.asax,和Global.asax文件一样,起到全局配置信息的作用。我们来分析一下该文件的几个重要作用。

首先在构造函数中初始化基础配置信息(关于详细的配置信息内容请参考配置信息管理章节),注意这里的初始化后的配置信息绑定到一个Configuration属性上了,以便另外两个方法在后期进行使用,如果你要在其它类中进行使用,则需要将该实例保存到其它地方(如静态变量)。

ConfigureServices方法是依赖注入的核心,在方法的传入参数services中,首先保存了默认依赖注入里定义的类型定义,然后我们在这个方法里,可以继续注册依赖注入的类型定义,关于依赖注入的详细内容,可以阅读依赖注入章节。

同时一些重要的功能需要开启的话,也需要在这里开启,比如添加Mvc模块,就需要使用如下调用语句:

services.AddMvc();

原因是因为,在新版的ASP.NET 5中,除了最基础的模块以外,绝大部分模块都是纯组件化的,这里称为Middleware,而组件在使用的时候首先需要先添加该模块才能使用。再比如,添加EF模块的话,需要调用

services.AddEntityFramework()方法。

而另外一个Configure方法,顾名思义是对各种Middleware组件进行配置的地方,一般来说,配置模块的方法都是调用类似app.UseXXX()这样的方法,如使用静态文件处理流程,则调用如下语句即可:

app.UseStaticFiles();

如果要使用Mvc的功能,则需要使用app.UseMvc方法,在调用这些方法时,可以配置并传入响应的参数。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjysfd.html