【问题标题】:ASP.NET 5 Client Side Depdency Management - BowerASP.NET 5 客户端依赖管理 - Bower
【发布时间】:2015-08-30 12:27:38
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net-mvc bower asp.net-core asp.net-core-mvc


    【解决方案1】:

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

    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 中未列出的文件(例如某些包没有最小文件作为主文件..ex: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...

    【讨论】:

    • 是否可以更改 lib 目录结构,不使用 dist?例如bootstrap/css 改为 bootstrap/dist/css
    • 没问题,你只需要更改上面"overrides"配置下的文件夹路径
    猜你喜欢
    • 1970-01-01
    • 2015-06-06
    • 2012-10-05
    • 2013-02-12
    • 2011-04-16
    • 2016-08-11
    • 2015-11-24
    • 2016-04-18
    相关资源
    最近更新 更多