如何设置gulp以在Visual Studio 2017和msbuild中以相同的方式运行而无需更改我的构建脚本?

Pro*_*ing 9 visual-studio node.js gulp visual-studio-2017

我很难在Visual Studio 2017中设置gulp.我不确定我哪里出错但是有一些我很困惑的事情我无法找到任何在线资源任何用途.

我正在使用的构建系统是CruiseControl.NET,我希望能够使用它.

这是我到目前为止所做的:

  • 安装Visual Studio 2017 .NET Core cross-platform developmentNode.js development选择(以及其他选项).

  • 创建了一个新项目

  • gulpfile.js在项目中添加了一个文件

  • 右键单击该文件并选择 Task Runner Explorer

在Task Runner Explorer中,我收到错误Failed to load. See output window (Ctl+Alt+O) for more information..

然后,如果我执行以下操作:

  • 打开Node.js交互式窗口

  • 运行命令 .npm install --global gulp-cli

  • 关闭Visual Studio并再次打开它

在Task Runner Explorer中,然后我收到消息(No tasks found).

首先,这是在Visual Studio 2017中设置Gulp的正确方法吗?

我问这个的原因是因为我不确定为什么我需要用句点字符.npm作为前缀命令(即相反npm).

我也不确定gulp的安装位置,因为我无法在路径中找到它C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Web\External\node_modules.

因此,我无法真正设置CruiseControl.NET.

Dar*_*ans 8

我正在处理这个问题的方法是首先使用Web Essentials 2017扩展.这将安装Bundler和Minifier工具,然后将bundleconfig.json文件添加到您的项目中.右键单击此文件,转到Bundler&Minifier菜单项,您将在其中看到转换为Gulp的选项.

选择convert to gulp将创建必要的gulpfile.js并安装使用Gulp所需的npm包.等待所有的npm软件包安装,然后你可以右键单击gulpfile.js,选择Task Runner Explorer,你应该准备好设置基于Gulp的任务了.如果您看到gulpfile.js无法加载消息,则npm软件包可能仍在安装(请检查VS 2017状态栏上的进度条).安装所有软件包后,点击Task Runner Explorer中的Refresh图标,错误应该消失.

可能有一种更加手动的方式来添加Gulp支持,但我发现这种更自动化的方法可以确保所有工具都连线正常工作,我不会错过任何东西.

我从很棒的Microsoft Docs站点收集了所有这些信息,特别是关于Bundling&Minification的这个页面.那里还有一个使用Gulp部分,可以为您的情况提供更多详细信息.

https://docs.microsoft.com/en-us/aspnet/core/client-side/bundling-and-minification

  • 有用的信息,但这如何与构建系统一起使用? (2认同)

Pro*_*ing 6

微软现在已经添加了关于如何运行gulp的文档:https: //docs.microsoft.com/en-us/aspnet/core/client-side/using-gulp

确保将Visual Studio 2017更新到最新版本,因为它现在随Node.js,NPM和Gulp一起提供(在安装Visual Studio时,您无需选择"Node.js支持").

在项目文件夹中创建一个npm配置文件(package.json)并编辑它以引用gulp:

{
  "version": "1.0.0",
  "name": "example",
  "private": true,
  "devDependencies": {
    "gulp": "3.9.1"
  },
  "scripts": {
    "gulp": "gulp"
  }
}
Run Code Online (Sandbox Code Playgroud)

在项目文件夹中,创建Gulp配置文件(gulpfile.js)以定义自动化过程.

将以下内容添加到需要gulp支持的每个项目的post-build事件命令行:

cd $(ProjectDir)
call dotnet restore
npm run gulp
Run Code Online (Sandbox Code Playgroud)

要在Visual Studio 2017中运行任务,请打开"任务运行器资源管理器"("查看">"其他Windows">"任务运行器资源管理器").

然后在构建服务器上安装Node.js并确保将节点路径添加到环境路径变量中,然后当构建服务器构建项目时,gulp也将运行!