【问题标题】:Semantic UI in Visual Studio - How to kick off gulp tasks in subfolders?Visual Studio 中的语义 UI - 如何在子文件夹中启动 gulp 任务?
【发布时间】:2016-03-18 21:30:36
【问题描述】:

场景: 带有 MVC 6(我的意思是 MVC Core 1.0)项目的 Visual Studio 2015。我使用 bower 安装 Semantic UI,但我认为问题不是 Semantic 特有的。

问题: 在项目的根目录下有一个 gulp 文件,我可以用它来做 gulp 的东西 - 但 Semantic 在 /wwwroot/css/lib/semantic-ui 中附带了它自己的 gulp 文件,您可以使用它来自定义主题与您自己的覆盖。因此,当我进行更改时,我需要能够运行该 gulpfile 的任务。

我尝试过的事情

  1. 我看到几个 gulp 函数可能会启动其他文件中的任务,但我不清楚哪个函数最好,或者在调用语义 gulp 之前我需要在根文件中真正需要什么文件。 (我是 gulp 的新手)

  2. 我尝试使用 Task Runner Explorer 和 Mad's Web Compiler 手动编译语义文件 - 这在这一点上很好 - 但我也是 LESS 的新手,虽然它似乎可以编译但会引发一些错误关于我无法调试的丢失变量(似乎没有丢失)。这可能是一个单独的问题,但试图提供所有背景。

当我在线阅读帖子时,他们大多认为您要么从命令行运行,要么在项目根目录的 gulpfile 中执行所有操作。我更愿意将所有内容都保留在 Visual Studio 中,只参考 Semantic 包附带的 gulp 文件。当然,我是 gulp 和 LESS 的新手,所以也许这正是我认为我更喜欢的方式 - 我对其他方法持开放态度。

【问题讨论】:

    标签: asp.net-mvc visual-studio-2015 gulp semantic-ui


    【解决方案1】:

    您可以将此 gulp 任务添加到根文件的 gulp.js 中:

    function runTask(command, tasks) {
        var spawn = require('child_process').spawnSync;
        var path = '/www/root/css/lib/semantic-ui'; //or the relative path
        process.chdir(path);
    
        child = spawn(command, tasks); 
        process.chdir('../../../'); //bring it back to the directory from where you are running the gulp task
    
    }
    
    gulp.task('semantic', function(){
        return runTask('gulp', ['build']); //add the gulp tasks here in the array
    });
    

    【讨论】:

    • > cmd.exe /c gulp -b "C:\code\RPS\src\MyProject" --color --gulpfile "C:\code\RPS\src\MyProject\Gulpfile.js " semanticProcess 以代码 1 终止。[20:48:46] 使用 gulpfile C:\code\RPS\src\MyProject\Gulpfile.js[20:48:46] 开始 'semantic'...[20:48:46 ] 'semantic' 在 171 μs 后出错 [20:48:46] 错误:ENOENT,process.chdir 中没有这样的文件或目录(C:\code\RPS\src\MyProject\node_modules\gulp\node_modules\graceful-fs\ polyfills.js:14:9) 在 process.chdir (C:\code\RPS\src\MyProject\node_modules\gulp-cssmin\node_modules\graceful-fs\polyfills.js:14:9) 在 runTask
    • 感谢您的回复-当我尝试时,我在上面的评论中得到了回复。还 - 删除了 www/root 中多余的斜线
    • 你必须把相对路径放在这里,相对于你当前的工作目录
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多