ASP.NET 5 客户端依赖管理 - Bower

ASP.NET 5 Client Side Depdency Management - Bower

我正在试用新的 ASP.NET 5 和 MVC 6,我正在使用 Bower 来管理我所有的客户端依赖项。一切正常。

但我有一个问题:当我添加依赖项时(比方说 jQuery)。它将 /dist/src 连同 Bower 配置文件添加到 wwwroot/lib 文件夹中。我如何让它只包含编译后的源代码以供使用? (所以我可以通过 /lib/jquery/jquery.js?

在我的页面中引用它

我最近一直在玩这个 space 以下是我尝试过的东西:

  1. 删除了 .bowerrrc 文件以允许安装在项目文件夹下的默认 bower_components 文件夹中,而不是在 wwwroor\lib 下,因为 wwwroot 下的任何内容都会被发布。
  2. 已将 "main-bower-files": "2.9.0" 添加到 package.json。此包获取每个已安装包的 bower.json 文件的 main 属性 中提到的所有文件。
  3. 使用上述包创建了一个 gulp 任务 gulp.task('copyMainFiles', function () { return gulp.src(mainBowerFiles(), { base: 'bower_components' }) .pipe(gulp.dest('wwwroot/lib')); });

  4. 向应用程序的 project.json 文件添加了 postrestore 步骤 "scripts": { "postrestore": "gulp copyMainFiles", "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] }

  5. 更新了我的应用程序的 bower.json 以复制未在 main 中列出的文件(例如某些包没有 min 文件作为主文件..例如:jQuery). main-bower-files读取以下设置:

    "overrides": { "jquery": { "main": [ "dist/jquery.js", "dist/jquery.min.js" ] }, "hammer.js": { "main": [ "hammer.js", "hammer.min.js" ] }, "bootstrap": { "main": [ "./dist/js/bootstrap.js", "./dist/js/bootstrap.min.js", "./dist/css/bootstrap.css", "./dist/css/bootstrap.min.css" ] } }

  6. 最后不得不更新 jquery-validation 包以使用 1.14.0 而不是 1.11.1 因为以前的版本没有 dist 文件夹而且确实没有 bower.json ...