在 VS2015 中使用 gulp 在 ASP.NET 4.5.2 MVC 項目中編譯 LESS
我嘗試了新的 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 為您執行此操作。