我想将Gulp观察器应用于我的LESS文件,因此只要保存LESS文件,Gulp就会创建css文件.
我怎样才能做到这一点?写这样的东西似乎不正确/充分:
var gulp = require("gulp");
var moreLess = require("gulp-more-less");
var concatCss = require("gulp-concat-css");
var lessInFolder = "./Less/**/*.less";
gulp.task("less", function ()
{
gulp.src(lessInFolder).pipe(moreless()).pipe(concatCss()).pipe(gulp.dest("./css"));
});
gulp.watch(lessInFolder, ["less"]);
Run Code Online (Sandbox Code Playgroud) 我正在使用Visual Studio node.js项目尝试使用Visual Studio为Angular 2打字稿项目设置开发环境.
如果我使用命令行,一切正常,我的打字稿编译,我的应用程序运行应该.但是,使用visual studio构建和运行 - 它不起作用.我的问题是,我用这此角2控制和apperantly这个项目的测试不会transpile,它创建的编译错误.
有没有办法为node.js项目配置visual studio构建设置?有没有办法抑制这些错误?我可以实际设置Visual Studio来运行npm/gulp脚本而不是MSBuild吗?
(我知道任务运行器,但由于它只有beforeBuild,AfterBuild,Clean和ProjectOpen绑定,它似乎不会解决我的问题.)
visual-studio node.js visual-studio-2015 task-runner-explorer angular
我正在尝试让 npm 监视客户端代码中的文件更改。我可以让它从命令行正常工作,但我真的很喜欢它在 Visual Studio 任务运行器中工作。
我的 package.json 看起来像这样:
...
"watch": {
"compile": {
"patterns": [
"wwwroot"
],
"extensions": "ts"
}
},
"scripts": {
"prebuild": "copyfiles -f ./node_modules/d3/build/*.js ./wwwroot/lib/d3",
"compile": "tsc && browserify ./wwwroot/app/app.js -o ./wwwroot/bundle.js",
"build": "npm run compile",
"watch": "npm-watch"
},
...
Run Code Online (Sandbox Code Playgroud)
所以从命令行运行npm run build然后npm run watch一切都按预期运行。
然而,当我使用 Task Runner 将我的监视脚本绑定到 After Build 事件时,如下所示:
它永远不会“退出”,因此,构建永远不会完成*,Visual Studio 会在应用程序运行之前等待我终止任务。有没有办法让脚本在后台或某种“分离”模式下运行,使 Visual Studio 能够完成构建并运行应用程序?
我尝试使用不同的手表工具,但在其中任何一个中都找不到任何此类选项。
*实际上,我猜构建本身可能确实完成了,但 VisualStudio 从不运行应用程序,只是挂起等待脚本退出。
我在 Visual Studio 2017 中有一个 TypeScript 项目,其中有一个gulpfile.js。我想在单击run、build或clean按钮时运行我的任务。有办法做到这一点吗?
我知道我可以通过在构建之前或之后设置任务来完成此操作,但我想替换它,并为运行按钮添加一个任务。
在通常的 Windows 命令行中我看到:
C:\Users\me\myProject\UI> node --version
v8.12.0
C:\Users\me\myProject\UI> npm --version
6.11.3
C:\Users\me\myProject\UI> where node
C:\Program Files\nodejs\node.exe
C:\Users\me\myProject\UI> where npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Users\me\AppData\Roaming\npm\npm
C:\Users\me\AppData\Roaming\npm\npm.cmd
Run Code Online (Sandbox Code Playgroud)
现在我正在使用 Visual Studio Professional 2017:如果我通过Tools > NuGet Packet Manager > Package Manager console打开 (Powershell) 终端,我会看到我喜欢的全局安装:
PM> pwd
Path
----
C:\myProject
PM> Get-Command npm
CommandType Name Version Source
----------- ---- ------- ------
Application npm.cmd 0.0.0.0 C:\Program Files\nodejs\npm.cmd
PM> node --version
v8.12.0
PM> npm --version
6.11.3
PM> Get-Command node
CommandType Name Version Source
----------- ---- ------- …Run Code Online (Sandbox Code Playgroud) 我将Visual Studio更新为15.8,现在尝试使用Task Runner Explorer编译较少的文件时出现以下错误:
Failed to run "C:\Projects\TFS Git Repo\Main\src\Ljmu.Web.UI\Gruntfile.js"...
cmd.exe /c grunt -b "C:\Projects\TFS Git Repo\Main\src\Ljmu.Web.UI" --gruntfile "C:\Projects\TFS Git Repo\Main\src\Ljmu.Web.UI\Gruntfile.js" --tasks "c:\program files (x86)\microsoft visual studio\2017\enterprise\common7\ide\extensions\microsoft\web tools\taskrunnerexplorer\Scripts" vs-grunt-task-reader
grunt[10096]: src\node_contextify.cc:631: Assertion `args[1]->IsString()' failed.
1: 00007FF677EB82F5
2: 00007FF677E94156
3: 00007FF677E94221
4: 00007FF677E6A69A
5: 00007FF6784B5EB2
6: 00007FF6784B7008
7: 00007FF6784B636D
8: 00007FF6784B628B
9: 00000292D50841C1
Run Code Online (Sandbox Code Playgroud)
任何想法欢迎...
编辑
从命令行运行时,它工作正常,所以我认为这只是Task Runner Explorer的问题。