angular-cli 1.0.0-beta.5 (w / 노드 v6.1.0)로 생성 된 앱에서 부트 스트랩 4 (4.0.0-alpha.2)를 사용하려고합니다.
npm으로 부트 스트랩과 그 종속성을 얻은 후 첫 번째 접근 방식은 다음과 같이 추가했습니다 angular-cli-build.js
.
'bootstrap/dist/**/*.min.+(js|css)',
'jquery/dist/jquery.min.+(js|map)',
'tether/dist/**/*.min.+(js|css)',
그리고 우리의 수입 index.html
<script src="vendor/jquery/dist/jquery.min.js"></script>
<script src="vendor/tether/dist/js/tether.min.js"></script>
<link rel="stylesheet" type="text/css" href="vendor/bootstrap/dist/css/bootstrap.min.css">
<script src="vendor/bootstrap/dist/js/bootstrap.min.js"></script>
이것은 잘 작동 ng serve
했지만 -prod
플래그 가있는 빌드를 생성 하자마자이 모든 의존성이 사라졌습니다 dist/vendor
(서프라이즈!).
angular-cli로 생성 된 프로젝트에서 이러한 시나리오 (예 : 부트 스트랩 스크립트로드)를 처리하기위한 방법은 무엇입니까?
우리는 다음과 같은 생각을 가지고 있었지만 실제로 어떤 길을 갈지 모른다 …
-
CDN을 사용 하시겠습니까? 그러나 우리는이 파일들을 사용할 수 있도록하기 위해 오히려이 파일들을 제공 할 것입니다
-
의존성을 복사
dist/vendor
한 후에ng build -prod
? 그러나 그것은 angular-cli가 빌드 부분을 ‘관리’하기 때문에 제공 해야하는 것 같습니다. -
jquery, 부트 스트랩 및 테더를 추가
src/system-config.ts
하고 어떻게 든 번들로 가져 오는가main.ts
? 그러나 애플리케이션 코드에서 명시 적으로 사용하지 않을 것이라는 점을 고려할 때 (예를 들어 moment.js 또는 lodash와 같은) 잘못된 것으로 보였습니다.
답변
중요 업데이트 : NG2 – 부트 스트랩은 지금 교체 NGX-부트 스트랩
ngx-bootstrap 은 Angular 3과 4를 모두 지원합니다.
업데이트 : 1.0.0-beta.11-webpack 이상
먼저 터미널에서 다음 명령을 사용 하여 angular-cli 버전을 확인하십시오 .
ng -v
귀하의 경우 각-CLI 버전보다 큰 1.0.0-beta.11-웹팩 , 당신은 다음 단계를 수행해야합니다 :
-
ngx-bootstrap 및 bootstrap을 설치 하십시오 .
npm install ngx-bootstrap bootstrap --save
이 줄은 현재 Bootstrap 3을 설치하지만 나중에 Bootstrap 4를 설치할 수 있습니다. 명심 NGX-부트 스트랩 지원하는 두 버전을.
-
열기 SRC / 응용 프로그램 / app.module.ts 및 추가 :
import { AlertModule } from 'ngx-bootstrap'; ... @NgModule({ ... imports: [AlertModule.forRoot(), ... ], ... })
-
열기 각도-cli.json (angular6 및 변경 이후의 파일 이름에 대한 angular.json )과은에 새 항목을 삽입
styles
배열 :"styles": [ "styles.css", "../node_modules/bootstrap/dist/css/bootstrap.min.css" ],
-
여 SRC / 응용 프로그램 / app.component.html 및 추가 :
<alert type="success">hello</alert>
1.0.0-beta.10 이하 버전 :
또한, angular-cli 버전이 1.0.0-beta.10 이하인 경우 아래 단계를 사용할 수 있습니다.
먼저 프로젝트 디렉토리로 이동하여 다음을 입력하십시오.
npm install ngx-bootstrap --save
그런 다음 angular-cli-build.js를 열고 다음 줄을 추가하십시오.
vendorNpmFiles: [
...
'ngx-bootstrap/**/*.js',
...
]
이제 src / system-config.ts 를 열고 다음을 작성하십시오.
const map:any = {
...
'ngx-bootstrap': 'vendor/ngx-bootstrap',
...
}
…과:
const packages: any = {
'ngx-bootstrap': {
format: 'cjs',
defaultExtension: 'js',
main: 'ngx-bootstrap.js'
}
};
답변
https://github.com/angular/angular-cli 에서 키워드> 글로벌 라이브러리 설치 를 찾으면 답을 찾는 데 도움이됩니다.
문서에 따라 다음 단계를 수행하여 Bootstrap 라이브러리를 추가 할 수 있습니다.
먼저 npm에서 Bootstrap을 설치하십시오.
npm install bootstrap@next
그런 다음 angular-cli.json 파일의 apps [0] .scripts에 필요한 스크립트 파일을 추가하십시오.
"scripts": [
"../node_modules/bootstrap/dist/js/bootstrap.js"
],
마지막으로 bootsstrap CSS를 apps [0] .styles 배열에 추가하십시오 :
"styles": [
"styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.css"
],
ng serve를 실행중인 경우 다시 시작하면 Bootstrap 4가 앱에서 작동해야합니다.
이것이 가장 좋은 해결책입니다. 그러나 ng serve를 다시 시작하지 않으면 작동하지 않습니다. 이 마지막 작업을 수행하는 것이 좋습니다.
답변
다음을 수행하십시오.
npm i bootstrap@next --save
부트 스트랩 4가 프로젝트에 추가됩니다.
다음으로 src/style.scss
또는 src/style.css
파일 로 이동하여 (사용중인 것을 선택하십시오) 부트 스트랩을 가져 오십시오.
style.css의 경우
/* You can add global styles to this file, and also import other style files */
@import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
style.scss의 경우
/* You can add global styles to this file, and also import other style files */
@import "../node_modules/bootstrap/scss/bootstrap";
스크립트를 들어 당신은 여전히 같은 각도-cli.json 파일에 파일을 추가해야합니다 ( 각도 버전 6에서는이 편집 파일에서 수행 할 필요가 angular.json ) :
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
],
답변
처음에는 다음 명령으로 테더, jquery 및 부트 스트랩을 설치해야합니다.
npm i -S tether
npm i -S jquery
npm i -S bootstrap@4.0.0-alpha.4
angular-cli.json (버전 6 이후의 angular.json) 파일에이 행을 추가 한 후
"styles": [
"styles.scss",
"../node_modules/bootstrap/scss/bootstrap-flex.scss"
],
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
]
답변
아무도 아직 부트 스트랩을 포함시키는 방법에 대한 공식 (angular-cli 팀) 이야기를 언급하지 않았으므로 https://github.com/angular/angular-cli/wiki/stories-include-bootstrap
부트 스트랩 포함
부트 스트랩 은 Angular 프로젝트 내에서 사용할 수있는 널리 사용되는 CSS 프레임 워크입니다. 이 안내서는 Angular CLI 프로젝트에 부트 스트랩을 추가하고 부트 스트랩을 사용하도록 구성하는 과정을 안내합니다.
CSS 사용
시작하기
새 프로젝트를 만들고 프로젝트를 탐색하십시오.
ng new my-app
cd my-app
부트 스트랩 설치
새 프로젝트가 작성되고 준비되면 다음으로 프로젝트에 부트 스트랩을 종속성으로 설치해야합니다. --save
옵션을 사용하면 의존성이 package.json에 저장됩니다
# version 3.x
npm install bootstrap --save
# version 4.x
npm install bootstrap@next --save
프로젝트 구성
이제 프로젝트가 설정되었으므로 부트 스트랩 CSS를 포함하도록 구성해야합니다.
.angular-cli.json
프로젝트 루트 에서 파일 을여십시오.- 속성 아래
apps
에서 해당 배열의 첫 번째 항목이 기본 응용 프로그램입니다. styles
외부 전역 스타일을 응용 프로그램에 적용 할 수 있는 속성 이 있습니다.- 경로를 지정하십시오
bootstrap.min.css
완료되면 다음과 같아야합니다.
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
참고 : 변경하면 구성 변경을 .angular-cli.json
시작 ng serve
하기 위해 다시 시작해야합니다 .
테스트 프로젝트
app.component.html
다음 마크 업을 열고 추가하십시오.
<button class="btn btn-primary">Test Button</button>
애플리케이션이 구성된 상태 ng serve
에서 개발 모드에서 애플리케이션을 실행 하도록 실행하십시오. 브라우저에서 응용 프로그램으로 이동하십시오 localhost:4200
. 부트 스트랩 스타일 버튼이 나타나는지 확인하십시오.
SASS 사용
시작하기
새 프로젝트를 만들고 프로젝트를 탐색하십시오.
ng new my-app --style=scss
cd my-app
부트 스트랩 설치
# version 3.x
npm install bootstrap-sass --save
# version 4.x
npm install bootstrap@next --save
프로젝트 구성
에 빈 파일 _variables.scss
을 만듭니다 src/
.
를 사용하는 경우 bootstrap-sass
다음을 추가하십시오 _variables.scss
.
$icon-font-path: '../node_modules/bootstrap-sass/assets/fonts/bootstrap/';
다음을 styles.scss
추가하십시오.
// version 3
@import 'variables';
@import '../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap';
// version 4
@import 'variables';
@import '../node_modules/bootstrap/scss/bootstrap';
테스트 프로젝트
app.component.html
다음 마크 업을 열고 추가하십시오.
<button class="btn btn-primary">Test Button</button>
애플리케이션이 구성된 상태 ng serve
에서 개발 모드에서 애플리케이션을 실행 하도록 실행하십시오. 브라우저에서 응용 프로그램으로 이동하십시오 localhost:4200
. 부트 스트랩 스타일 버튼이 나타나는지 확인하십시오. 변수가 열려 있는지 확인 _variables.scss
하고 다음을 추가하십시오.
$brand-primary: red;
글꼴 색이 변경된 것을 보려면 브라우저를 반환하십시오.
답변
v1.0.0-beta.26 업데이트
당신은 부트 스트랩 가져 오기위한 새로운 방법에 대한 문서를 볼 수 있습니다 여기에
여전히 작동하지 않으면 ng serve 명령으로 다시 시작하십시오.
1.0.0 이하 버전 :
index.html 파일에서 부트 스트랩 CSS 링크가 필요합니다 (js 스크립트 필요 없음)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
과
npm install ng2-bootstrap --save
npm install moment --save
my_project / src / system-config.ts 에 ng2-bootstrap 을 설치 한 후 :
/** Map relative paths to URLs. */
const map: any = {
'moment': 'vendor/moment/moment.js',
'ng2-bootstrap': 'vendor/ng2-bootstrap'
};
/** User packages configuration. */
const packages: any = {
'ng2-bootstrap': {
defaultExtension: 'js'
},
'moment':{
format: 'cjs'
}
};
그리고 my_project / angular-cli-build.js에서 :
module.exports = function (defaults) {
return new Angular2App(defaults, {
vendorNpmFiles: [
'ng2-bootstrap/**/*',
'moment/moment.js'
]
});
};
공급 업체에 모듈을 넣으려면이 명령을 잊지 마십시오.
ng build
동일한 원리 인 다른 모듈에서 가져옵니다.
답변
릴리스 후 위의 방법이 변경된 것 같습니다.이 링크를 확인하십시오.
https://github.com/valor-software/ng2-bootstrap/blob/development/docs/getting-started/ng-cli.md
프로젝트를 시작하다
npm i -g angular-cli
ng new my-app
cd my-app
ng serve
npm install --save @ng-bootstrap/ng-bootstrap
ng-bootstrap 및 부트 스트랩 설치
npm install ng2-bootstrap bootstrap --save
src / app / app.module.ts를 열고 추가하십시오
import { AlertModule } from 'ng2-bootstrap/ng2-bootstrap';
...
@NgModule({
...
imports: [AlertModule, ... ],
...
})
angular-cli.json을 열고 스타일 배열에 새 항목을 삽입하십시오.
"styles": [
"styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.min.css"
],
src / app / app.component.html을 열고 추가하여 모든 작품을 테스트하십시오
<alert type="success">hello</alert>