Asp.net-Mvc

在 VS2015 中使用 gulp 在 ASP.NET 4.5.2 MVC 項目中編譯 LESS

  • March 11, 2017

我嘗試了新的 ASP.NET vNext,我真的很喜歡 gulp 的工作方式。我現在正在嘗試在 ASP.NET 4.5.2 MVC 項目中使用 gulp 編譯 LESS。

我跟著這個尋求幫助。

這是我到目前為止所做的:

添加了帶有以下程式碼的 package.json 文件。

{
 "name": "package",
 "version": "1.0.0",
 "private": true,
 "devDependencies": {
   "gulp": "3.9.0",
   "gulp-bower": "0.0.10",
   "gulp-config": "0.3.0",
   "gulp-less": "3.0.3",
   "gulp-plumber": "1.0.1"
 }
}

在 gulpfile.js 中創建了一個 Gulp 任務

var gulp = require('gulp');
var less = require('gulp-less');
var path = require('path');
var plumber = require('gulp-plumber');
gulp.task('less', function () {
   return gulp.src('./Content/**/*.less')
   .pipe(plumber())
     .pipe(less({
         paths: [path.join(__dirname, 'less', 'includes')]
     }))
     .pipe(gulp.dest('./content/'));
});

但隨後我收到以下錯誤(在輸出視窗中):

無法執行“C:\Users\me\documents\visual studio 2015\Projects\projectname\Gulpfile.js”… cmd.exe /c gulp –tasks-simple ‘gulp’ 不被辨識為內部或外部命令、可執行的程序或批處理文件。

我猜 npm 不會下載 gulp。知道如何讓它工作嗎?

在包管理器控制台中鍵入npm install會將 node_modules 文件夾添加到項目中。package.json 文件中指定的所有依賴項都將添加到該文件夾中。

在這種情況下,現在安裝了 gulp,錯誤應該消失了。

您不需要全域安裝 Gulp 即可在 Visual Studio 2015 中使用它。當通過 npm 將 Gulp 安裝到項目中時,它會將 gulp.cmd 添加到項目中的文件夾(預設為​​ ./node_modules/.bin)。預設情況下,Visual Studio 在查找外部工具(如 Grunt、Gulp、Bower 和 npm)的路徑中包含該路徑。這可以在Tools->Options->Projects And Solutions->External Web Tools.

我的猜測是,當你第一次創建 package.json 文件時,npm 沒有成功安裝包。每當您保存 package.json 文件時,Visual Studio 將為npm install您的項目執行,因此您甚至不需要打開控制台視窗。但是,如果您將現有的 package.json 文件添加到項目中,它不會自動為您安裝。在這種情況下,您需要npm install自己執行,或打開並保存文件以讓 VS 為您執行此操作。

引用自:https://stackoverflow.com/questions/31665374