내 프로젝트는 Bower를 사용하여 Bootstrap, Jquery 등을 관리하는 .Net 핵심 MVC입니다. 이제는 Bower가 사라져서 어떻게 NPM으로 마이그레이션 할 수 있습니까? 또는 Yarn/Webpack을 Bower가 제안 했습니까?.Bower를 NPM 또는 .NET으로 바꿔 넣는 방법 .Net Core 2.0 MVC 프로젝트
0
A
답변
1
몇 가지 조사를 마친 후 확인해 보면 저에게 맞는 방법을 찾았습니다. 여기 내 단계
(우리는 나무 그늘에서 벗어나 필요로)"gulp": "^3.9.1",
"gulp-uglify": "3.0.0",
"gulp-concat": "2.6.1",
"gulp-cssmin": "0.2.0",
"rimraf": "2.6.2",
"lodash": "4.17.4",
그런 다음 다른 패키지 dev에 종속성을 추가 NPM 통해 꿀꺽 설치 (package.json의 항목 아래에 추가)입니다.
"bootstrap": "3.3.7",
"jquery": "3.2.1",
"jquery-validation": "1.17.0",
"jquery-validation-unobtrusive": "3.2.6",
"fontawesome": "4.7.2"
이제 NPM은 프로젝트 루트 폴더에 node_modules 모든 패키지를 다운로드합니다
같은 - 당신은 Windows 폴더 브라우저로 이동하여 또는이제 다음 단계 VS
에서 쇼를 위해 모든 파일을 탈퇴하여 그들을 볼 수 있습니다 꿀꺽 거리는 작업 주자에서 작업을 설정합니다. 이를 위해 gulpfile.js를 추가하여 웹 프로젝트 바로 아래에 새 항목을 추가하십시오. 일단 파일이 추가되면 우리는 빌드시 실행할 실행 파일을 정의합니다.벨로우는 노드 모듈에서 wwwroot/lib/_app로 패키지를 복사하고 css 및 js 파일을 정리/축소하는 3 가지 작업을 수행하는 샘플 파일입니다. 모든 작업이 VS 작업 러너 아래에서 관리되는 빌드 프로세스로 실행되도록 구성되었습니다.
/// <binding BeforeBuild='clean, clean:css, clean:js, min, min:css, min:js, copy-assets' Clean='clean, min:js, clean:css, copy-assets' />
"use strict";
var _ = require('lodash'),
gulp = require("gulp"),
rimraf = require("rimraf"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
uglify = require("gulp-uglify");
var paths = {
webroot: "./wwwroot/"
};
gulp.task('copy-assets', function() {
var assets = {
js: [
'./node_modules/bootstrap/dist/js/bootstrap.js',
'./node_modules/jquery/dist/jquery.min.js',
'./node_modules/jquery/dist/jquery.js',
'./node_modules/jquery-validation/dist/jquery.validate.min.js',
'./node_modules/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js'
],
css: ['./node_modules/bootstrap/dist/css/bootstrap.css']
};
_(assets).forEach(function (assets, type) {
gulp.src(assets).pipe(gulp.dest("./wwwroot/lib/_app/" + type));
});
});
//gulp.task("copy-assets");
paths.js = paths.webroot + "js/**/*.js";
paths.minJs = paths.webroot + "js/**/*.min.js";
paths.css = paths.webroot + "css/**/*.css";
paths.minCss = paths.webroot + "css/**/*.min.css";
paths.concatJsDest = paths.webroot + "js/site.min.js";
paths.concatCssDest = paths.webroot + "css/site.min.css";
gulp.task("clean:js", function (cb) {
rimraf(paths.concatJsDest, cb);
});
gulp.task("clean:css", function (cb) {
rimraf(paths.concatCssDest, cb);
});
gulp.task("clean", ["clean:js", "clean:css"]);
gulp.task("min:js", function() {
return gulp.src([paths.js, "!" + paths.minJs], { base: "." })
.pipe(concat(paths.concatJsDest))
.pipe(uglify())
.pipe(gulp.dest("."));
});
gulp.task("min:css", function() {
return gulp.src([paths.css, "!" + paths.minCss])
.pipe(concat(paths.concatCssDest))
.pipe(cssmin())
.pipe(gulp.dest("."));
});
gulp.task("min", ["min:js", "min:css"]);
VS에서 로컬로 작업 할 때 제대로 작동합니다. 하지만 우리는 VSTS 빌드 프로세스 중에 작동 할 수 있도록 csproj show를 구성해야합니다. 빌드하는 동안 필요한 모든 패키지를 wwwroot에/lib 디렉토리/_app에서 복사됩니다 당신이 당신의 CSS /를 가리킬 수 있습니다 JS 같은 존재로 심판 - 이것은 .csproj
<Target Name="buildName" BeforeTargets="Build">
<Exec Command="npm install" />
<Exec Command="gulp clean" />
<Exec Command="gulp copy-assets" />
<Exec Command="gulp min" />
</Target>
지금 모든 좋은 웹에서 설정 아래에 추가하여 수행됩니다 아래의 _Layout.cshtml
<link href="~/lib/_app/css/bootstrap.css" rel="stylesheet" />
관련 문제
- 1. 보기를 바꿔 넣는 방법
- 2. .net core 2.0 memory leak
- 3. .NET Core 2.0 BasePath 오류
- 4. 목록이있는 .NET Core 2.0 구성
- 5. .NET Core 2.0 대신 'Microsoft.Chart.Controls'
- 6. servicestack 4.5.14 & .Net Core 2.0
- 7. .NET Core 2.0 Startup.cs Separating Service Injection
- 8. ASP.NET CORE 2.0 인증
- 9. DotNetOpenAuth 또는 .net 2.0 프로젝트 용 .Net Open ID 라이브러리
- 10. IIS에서 .Net Core WebAPI 프로젝트 배포
- 11. ViewPager의 조각을 새 것으로 바꿔 넣는 방법
- 12. TStyleBook에서 PNG 이미지를 추출하고 바꿔 넣는 방법
- 13. 사용자 코어에 액세스하는 .NET Core 2.0
- 14. 배포 Winform 프로젝트 .NET 2.0
- 15. 오라클과 ASP NET CORE 2.0 연결
- 16. xUnit Net Core 2.0 테스트 프로젝트로 SpecFlow
- 17. 작동하지 않음 .net core 2.0 log4net.Appender.AdoNetAppender
- 18. ResponseCompression을 .NET Core 2.0 웹 API에서 작동시키기
- 19. .NET Core 2.0 미리보기에서 R.NET.Community 사용 1
- 20. .Net Core 2.0 각도 SPA 라우팅
- 21. Microsoft.BotFramework + LUIS + .Net Core 2.0 관련 문제
- 22. .Net Core 2.0 Foreign Key defaulting 0
- 23. NPM 또는 Bower를 통해 밑줄을 설치하는 것이 더 낫습니까?
- 24. ASP.Net Core 2.0 MVC 동적 모델 업데이트
- 25. .NET Core 2.0 클래스 라이브러리를 .NET 표준으로 변환
- 26. ValidateRequest = false (MVC 2.0) .net
- 27. bower를 사용하여 npm 패키지를 포함하는 방법은 무엇입니까?
- 28. .Core 및 .Net으로 폴더를 ASP.Net 소스 프로젝트에
- 29. MVC6 프로젝트에서 bower를 제거하는 방법
- 30. .NET Core 2.0 xUnit 테스트 보고서를 VSTS에 가져 오는 방법
다른 사용법과 마찬가지로 콘솔을 사용하십시오. 이 문제는 다른 패키지 관리자를 사용하기 위해 아직 업데이트되지 않은 Visual Studio 도구에서만 발생합니다. 즉, 지금 당장은 멋진 GUI를 그냥 버려야합니다. –
@ChrisPratt : 다른 용도로 사용하는 것처럼 콘솔을 통해 무엇을 의미합니까? – deb
선택한 관리자의 문서에 따라 CLI 도구를 사용하십시오. 요점은 Visual Studio에 현재 당신을 도울 수있는 것이 아무것도 없다는 것입니다. 적어도 네이티브가 아닙니다. 마켓 플레이스에 확장 기능이있을 수 있으므로 체크 아웃 할 수도 있습니다. 그러나 ASP.NET Core는 기술적으로 VS가 필요하지 않은 설정입니다. 파일의 이전 폴더처럼 관리 할 수 있습니다. –