使用Gulp在VS2015 asp.net core 1.0项目中将文件从node_modules移动到wwwroot

9
当我创建一个新的ASP.NET Core 1.0应用程序时,我希望使用npm来代替bower。因此,我删除了bower.json文件,并额外删除了wwwroot/lib文件夹中预安装的所有内容。
我向我的解决方案中添加了一个package.json文件,其中包含以下开发依赖项:
"devDependencies": {
    "bootstrap": "3.3.7",
    "jquery": "3.1.0",
    "jquery-validation": "1.15.1",
    "jquery-validation-unobtrusive": "3.2.6"
}

然而,NPM会将所有库下载到项目根目录下的node_modules文件夹中。
我认为这就是Gulp的用处。请问有谁可以告诉我如何使用gulp将分发文件从node_modules发送到我的wwwroot目录中?如果有任何教程我无法找到,请提供链接。

这里有一个答案 正确的答案 - OlegPL
1个回答

2

阅读此文章:https://wildermuth.com/2017/11/19/ASP-NET-Core-2-0-and-the-End-of-Bower 我在发现netcore 2.0对bower支持不好时使用了它。

针对bower.json中的每个包,执行npm install xyzyarn install xyz。更新gulp文件以从node_modules复制内容到lib。将bower install替换为npm installyarn install*.csproj文件中。

gulpfile概述:

var merge = require('merge-stream');

// Old bower behavior would be "*" in before and "" in after but you don't want that much.
var webpackages = {
    "requirejs": {"bin/*": "bin/" }
    // ...
}

gulp.task("dist_lib", function() {
    var streams=[];
    for (var package in webpackages)
       for (var item in webpackages[package])
           streams.push(gulp.src("node_modules/" + package + "/" + item)
               .pipe(gulp.dest("lib/" + package + "/" + webpackage[package][item])));
}

是我还是merge不常用? - user692942

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接