手机版

使用基于Node.js的构建工具Grunt发布ASP.NET MVC项目

时间:2021-09-17 来源:互联网 编辑:宝哥软件园 浏览:

grunt简介Grunt是一款基于js和node.js的构建工具,由于这一时期node.js的日益普及,Grunt拥有丰富的开源社区支持,并产生了很多插件。还有一些插件分散在节点社区中。构建是一个广义的表达,传统上理解为编译、打包和复制。如今,随着技术的不断提高,构建还包括对前端组件进行预处理,比如将sass和less预处理成css,将css和js进行压缩合并。Grunt插件可以很好地支持这些新的构建概念,更适合用开源技术构建的项目。虽然Grunt更多地用于程序构建,但它本质上是一个用于解决重复性工作的任务运行工具。

开始安装Grunt下载并安装Node.js.下载地址

检查并查看版本:

在节点-vv0.10.25上,安装grunt命令行工具grunt-cli,并使用-g进行全局安装,以便可以在任何目录下使用。以下命令会将grunt添加到您的系统搜索路径中,因此您可以在任何目录中使用该命令。

Npm install -g grunt-cli需要注意的是,在linux或mac下,它有时会在未经允许的情况下报告错误,因此必须在它前面添加一个sudo。

Sudnpm installgrunt-CLI-g视图版本:

grunt grunt-version runt-CLI v 0 . 1 . 13卸载。如果您以前安装过全局咕噜,请先删除它。

NPM uninstall-g grunt-CLI只是grunt的命令行界面,需要使用grunt及其插件。grunt模块本身必须安装在项目路径下(通常在项目根目录下),也就是说,插件模块是必需的。每当执行grunt命令时,它都会通过nodejs的require命令在本地找到安装的grunt。因此,您可以在任何子目录中运行grunt命令。如果cli找到本地安装的grunt,它将加载grunt库,然后应用您在GruntFile中编写的配置,然后执行相应的任务。

配置文件package.jsonpackage.json用于保存当前目录下安装和需要哪些节点模块,例如:

{'name' :' my-project-name ',' version' :' 0.1.0 ',' author' :' your name ',' dev dependencies ' : { ' grunt ' : ' ~ 0 . 4 . 1。如果package.json是手动创建的,只需通过npm install下载并安装所需的模块。这些模块在安装时保存在node_modules目录中。

如果您希望以后添加所需的模块,请使用以下命令同步更新package.json文件。

文件npinstallmodule-save-dev grunt file . js的状态与Makefile相同,是指导grund执行任务的文件,其中需要配置每个插件模块所需的参数,加载插件,定义任务。更多关于咕噜的信息可以在这里找到。建议读者在继续阅读之前,先对Gruntfile有一个全面的了解。

在ASP.NET用Grunt构建MVC MSbuild。在用咕噜建造之前。NET项目,您必须首先了解msbuild。MSbuild是微软用来构建程序的工具。目前,VisualStudio已经完全使用MSBuild来编译项目。msbuild由一个MSbuild工具、一组编译器或生成器程序以及xml文件组成。实际上,项目文件如。sln和。VisualStudio中的csproj只是msbuild可以知道的xml(以下简称msbuild配置文件)。VisualStudio通过调用msbuild完成构造工作,msbuild标识参数和构造行为标识符。我们也可以通过命令行自己调用msbuild。

msbuild中有两个关键概念:任务和属性。它是可以作为目标直接执行msbuild的条目。执行msbuild时,它应该指向默认任务,否则它必须指定目标任务是什么。属性是一个变量,就像程序中的变量可以影响程序的执行一样,所以属性可以影响构建的行为。

VisualStudio生成的msbuild配置文件其实很复杂,表面上只有几行。但是,它通过导入将一些预定义的配置文件导入到当前文件中,使得无法全面查看完整的配置文件,从而无法找到关键的Task项。幸运的是,有一个工具可以用来帮助分析msbuild配置文件的结构。

此外,在调用msbuild时,您可以通过命令行参数覆盖默认属性和任务,例如下面的调用表示,它将任务“重建”作为目标,并将配置属性设置为调试:

Msbuild控制台应用程序1.csproj/target:rebuild/property:configuration=调试有关msbuild的更多信息,请参考Microsoft文档。

手动使用msbuild而不是VisualStudio发布到这台机器就是一个例子。在VS2012环境中测试后,作者在使用VS调用msbuild时使用了以下关键参数覆盖率:

配置:Debug或者Release,相信使用VS的同学都会很熟悉这个。VisualStudio Version: VS在安装过程中会在一些与版本相关的地方预存储一些公共的、与VisualStudio相关的和msbuild配置文件。当Visual Studio生成项目文件时,它将包含一个$ VisualStudioVersion变量,该变量将与指向这些预先准备好的配置文件的路径相结合。2012年需要将该值设置为11.0 WarningLevel:编译时报警级别:DeleteExistingFiles:用于删除发布功能使用的现有文件的选项:WebPublishMethod:发布方法,作者常用,即发布到本地或远程共享目录:publishUrl:如果WebPublishMethod为FileSystem,则该值表示发布磁盘路径的关键任务:

Build:指VS中某个项目的编译功能Rebuild:指VS WebPublish中某个项目的重新编译功能:指VS对某个项目的发布功能。到目前为止,我们可以使用msbuild命令行来替换vs的一些构造动作。由于本文的重点是grunt,所以读者可以参考微软的说明,自己尝试一下:

PS: MSbuild通常位于如下目录中:c: \ windows \ Microsoft。net \ framework 64 \ v 4 . 0 . 30319 \ msbuild.exe使用grunt-msbuild调用msbuild最后,是时候介绍一下本文的主角:grunt-msbuild了。这是一个个人开发的msbuild调用中间件。作为grunt的插件,经过作者测试完全可以使用。结合其他grunt插件,它简化了发布项目的过程。

您可以按如下方式将此插件添加到条目“咕噜文件”中,以实现自动发布:

msbuild : { font end : { src :[' Web。FontEnd/Web。FontEnd.csproj'],options : { project configuration : ' Release ',targets: ['WebPublish'],stdout: true,maxCpuCount: 4,buildparameters 3360 { warninglevel 3360 2,VisualStudioVersion: ' 11.0 ',Teexistingfiles :' true ',webpublishmethod : ' file system ',publishurl3360 [font _ pwd]网络。FontEnd.csproj项目在Release模式下通过文件系统发布模式发布到由font_pwd变量指示的目录。这里需要注意的是,VisualStudioVersion参数可能需要根据自己的VS版本进行修改,可以通过查看c: \程序文件(x86)\ ms build \ Microsoft \ visual studio \ v 11.0这样的目录进行检查,Font_pwd是一个js变量,可以根据需要进行调整。

Grunt的完整配置就不给出了,主要需要知道这些关键参数设置。

在实际使用中,参数DeleteExistingFiles似乎不起作用,因此可能需要包括清空目标文件夹的任务。以下是实际任务运行时的部分屏幕截图:

2016215152103887.jpg  (542315)

版权声明:使用基于Node.js的构建工具Grunt发布ASP.NET MVC项目是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。