วิธีเพิ่ม bootstrap ให้กับโครงการ angular-cli


234

เราต้องการใช้ bootstrap 4 (4.0.0-alpha.2) ในแอพของเราที่สร้างขึ้นด้วย angular-cli 1.0.0-beta.5 (w / node v6.1.0)

หลังจากรับ bootstrap และการขึ้นต่อกันด้วย 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(ประหลาดใจ!)

เรามีจุดประสงค์ในการจัดการสถานการณ์ดังกล่าว (เช่นการโหลดสคริปต์ bootstrap) ในโครงการที่สร้างด้วย angular-cli อย่างไร

เรามีความคิดต่อไปนี้ แต่เราไม่รู้จริงๆว่าจะไปทางไหน ...

  • ใช้ CDN หรือไม่ แต่เราต้องการให้บริการไฟล์เหล่านี้เพื่อรับประกันว่าจะสามารถใช้งานได้

  • คัดลอกการอ้างอิงไปdist/vendorหลังจากที่เราng build -prod? แต่ดูเหมือนว่าสิ่งที่ควรจะให้ angi-cli เพราะ 'ดูแล' ส่วนสร้าง?

  • เพิ่ม jquery, bootstrap และ tether in src/system-config.tsและดึงมันเข้าไปในมัดของเราmain.tsหรือไม่? แต่ดูเหมือนว่าผิดเพราะเราจะไม่ใช้มันอย่างชัดเจนในโค้ดแอปพลิเคชันของเรา


คุณมีในไฟล์ system-config.ts ของคุณหรือไม่? คุณต้องทำแผนที่พวกเขา
mjwrazor

1
คำตอบหลายข้อด้านล่างแนะนำให้ใช้ ngx-bootstrap ฉันพบว่ามันไม่ใช่การแทนที่แบบเต็มสำหรับปลั๊กอิน jquery ของ Bootstrap และบางครั้งคุณยังจำเป็นต้องใช้ปลั๊กอิน jquery "ดั้งเดิม" เหล่านั้นเช่นฟังก์ชันการยุบในตาราง ในกรณีดังกล่าวให้ค้นหาคำตอบข้อใดข้อหนึ่งด้านล่างที่อธิบายวิธีการนำเข้าสคริปต์ jquery จากไฟล์ .angular-cli.json อย่างชัดเจน
Christoph


เพียงใช้ ng-bootstrap ng-bootstrap.github.io/#/home
เลียม

คำตอบ:


299

UPDATE สำคัญ: NG2-บูตจะถูกแทนที่โดยขณะนี้NGX-บูต

ngx-bootstrapรองรับทั้ง Angular 3 และ 4

อัปเดต: 1.0.0-beta.11-webpack หรือเวอร์ชันที่สูงกว่า

ก่อนอื่นตรวจสอบเวอร์ชันเชิงมุมของคุณด้วยคำสั่งต่อไปนี้ในเทอร์มินัล:

ng -v

หากเวอร์ชันเชิงมุมของคุณมากกว่า1.0.0-beta.11-webpackคุณควรทำตามขั้นตอนเหล่านี้:

  1. ติดตั้งngx-bootstrapและbootstrap :

    npm install ngx-bootstrap bootstrap --save

บรรทัดนี้ติดตั้ง Bootstrap 3 ทุกวันนี้ แต่สามารถติดตั้ง Bootstrap 4 ได้ในอนาคต โปรดทราบ ngx-bootstrapรองรับทั้งสองเวอร์ชัน

  1. เปิดsrc / app / app.module.tsและเพิ่ม:

    import { AlertModule } from 'ngx-bootstrap';
    ...
    @NgModule({
    ...
    imports: [AlertModule.forRoot(), ... ],
    ... 
    })
  2. เปิดangular-cli.json (สำหรับชื่อไฟล์ angular6 และต่อมาเปลี่ยนเป็นangular.json ) และแทรกรายการใหม่ลงในstylesอาร์เรย์:

    "styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.min.css"
    ],
  3. เปิดsrc / app / app.component.htmlและเพิ่ม:

    <alert type="success">hello</alert>

1.0.0-beta.10 หรือรุ่นต่ำกว่า:

และหากเวอร์ชันเชิงมุมของคุณเป็น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'
  }
};

6
ng2-bootstrap คืออะไรกันแน่ การเพิ่ม bootstrap ดั้งเดิมให้แก่ angular 2 หมายถึงอะไร ขออภัยฉันสับสนและค้นหาแล้ว แต่ฉันยังสับสนอยู่ เหตุใดฉันจึงไม่สามารถทำตามขั้นตอนเดียวกันนี้เพื่อดาวน์โหลด bootstrap แทนที่จะใช้บุคคลที่สาม ng2-bootstrap
mjwrazor

1
@mjwrazor เป็นเพราะ bootstrap ไม่ได้เป็นเพียงแค่รูปแบบ มันเป็นกรอบการทำงานส่วนหน้า เพื่อให้ชัดเจนตรวจสอบโดยใช้องค์ประกอบการให้คะแนนกับ ng2-bootstrap และคิดเกี่ยวกับรหัสที่คุณจะเขียนเพื่อใช้มัน
Ali Ghanavatian

5
เพียงประกาศเล็ก ๆ สำหรับผู้อ่านในอนาคต: Angular CLI ได้เปลี่ยนจาก SystemJS เป็น WebPack ด้วย beta.14 คำตอบนี้ล้าสมัยแล้วเนื่องจากเป็นโซลูชันที่ใช้ SystemJS
jbandi

2
ขอบคุณสำหรับแนวคิดของการใช้ ng2-bootstrap ที่นี่ฉันพบคู่มือการติดตั้งสำหรับ angular cli บนหน้า github github.com/valor-software/ng2-bootstrap/blob/development/docs/ …ในกรณีของฉันมีการโทร AlertModule.forRoot () ที่ขาดหายไป
bruno.bologna

1
ฉันมีปัญหาเดียวกันกับ&angular-cli@1.1.3 ngx-bootstrap@1.7.1ทำตามขั้นตอนนี้ด้วยความแตกต่างที่app.module.tsไม่อ้างถึงngx-bootstrapโดย 'ngx-bootstrap / ngx-bootstrap' แต่โดย 'ngx-bootstrap' ตามตัวอย่างนี้ที่githubแก้ไขปัญหาของฉัน
Edmond

123

ค้นหาคำสำคัญ> การติดตั้งห้องสมุดทั่วโลกในhttps://github.com/angular/angular-cliช่วยให้คุณค้นหาคำตอบ

ตามเอกสารคุณสามารถทำตามขั้นตอนต่อไปนี้เพื่อเพิ่มห้องสมุด Bootstrap

ติดตั้ง Bootstrap เป็นครั้งแรกตั้งแต่ npm:

npm install bootstrap@next

จากนั้นเพิ่มไฟล์สคริปต์ที่จำเป็นลงในแอพ [0] .scripts ในไฟล์ angular-cli.json:

 "scripts": [
    "../node_modules/bootstrap/dist/js/bootstrap.js"
    ],

ในที่สุดเพิ่ม Bootstrap CSS ในแอพ [0]. อาร์เรย์สไตล์:

"styles": [
    "styles.css",
    "../node_modules/bootstrap/dist/css/bootstrap.css"
    ],

รีสตาร์ท ng ให้บริการหากคุณใช้งานและ Bootstrap 4 ควรทำงานบนแอปของคุณ

นี่เป็นทางออกที่ดีที่สุด แต่ถ้าคุณไม่รีสตาร์ท ng ให้บริการมันจะไม่ทำงาน ขอแนะนำอย่างยิ่งให้ทำสิ่งสุดท้ายนี้


2
ขณะที่ฉันพิมพ์นี่เป็นทางออกเดียวที่ดูเหมือนจะใช้ angular-cli รุ่นล่าสุด
Freethebees

1
ไม่จำเป็นต้องใช้ bootstrap.js! ในขณะที่คุณไม่ต้องการใช้ juqery bootstrap.js สำหรับสิ่งนี้คุณต้องติดตั้งคำสั่ง ng2 ของ bootstrap
ปาสกาล

2
หากคุณไม่ต้องการใช้ bootstrap javascript ซึ่งตรงข้ามกับ. css คุณจะต้องรวมการพึ่งพาในสคริปต์อาร์เรย์: "../node_modules/jquery/dist/jquery.slim.js", "../ node_modules / tether / dist / js / tether.js "," ../node/modules/bootstrap/dist/js/bootstrap.js "
Howard Swope

2
คุณควรใช้ bootstrap.bundle.js ในการประกาศสคริปต์ซึ่งมี popper.js ด้วย
Dejazmach

1
เพื่อให้งานอย่าพลาดจุดสุดท้ายดำเนินการng serveอีกครั้ง ทำไม Angular CLI ไม่สามารถเพิ่มสิ่งนี้โดยอัตโนมัติได้? มันจะดีถ้าเรามีตัวเลือกสำหรับมัน
shaijut

58

ทำดังต่อไปนี้:

npm i bootstrap@next --save

สิ่งนี้จะเพิ่ม bootstrap 4 ให้กับโครงการของคุณ

ถัดไปไปที่ไฟล์src/style.scssหรือของคุณsrc/style.css(เลือกสิ่งที่คุณกำลังใช้) และนำเข้า bootstrap ที่นั่น:

สำหรับ 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";

สำหรับสคริปต์คุณจะต้องเพิ่มไฟล์ในไฟล์ angular-cli.json เช่นนี้ ( ใน Angular เวอร์ชัน 6 การแก้ไขนี้ต้องทำในไฟล์angular.json ) :

"scripts": [
        "../node_modules/jquery/dist/jquery.js",
        "../node_modules/tether/dist/js/tether.js",
        "../node_modules/bootstrap/dist/js/bootstrap.js"
],

5
IMHO นี่เป็นตัวเลือกที่ยอดเยี่ยมโดยเฉพาะกับ angular-cli รุ่นล่าสุด ข้อได้เปรียบที่ยิ่งใหญ่คือวิธีนี้ไม่ได้ขึ้นอยู่กับคนที่อัปเดตไลบรารีจากแพคเกจ npm ที่ระบุไว้ในคำตอบที่ยอมรับ นอกจากนี้ยังช่วยให้เราสามารถแทนที่ตัวแปร bootstrap โดยใช้ SASS ในขณะที่ไม่ได้ชี้ไปยังไฟล์ CSS ที่คอมไพล์โดยตรง
martin

2
ใช่มันสะอาดกว่าและแยกส่วนมากกว่าดังนั้นฉันชอบมันมาก!
mahatmanich

doent นี้ใช้งานได้สำหรับฉันข้อกำหนดเบื้องต้นใด ๆ ที่ต้องปฏิบัติตามฉันใช้รุ่นล่าสุดของ angular และ bootstrap และเพิ่มการเปลี่ยนแปลงข้างต้นทั้งหมดไม่ได้ทำงานด้วยวิธีนี้ แต่ทำงานในการเพิ่ม <link rel = "stylesheet" type = "text / css" href = "ผู้จำหน่าย / bootstrap / dist / css / bootstrap.min.css"> ใน index.html
har_shit

นี่คือการใช้การตั้งค่า cli!
mahatmanich

7
วิธีทำความสะอาดจะเป็น @import '~ bootstrap / dist / css / bootstrap'; การใช้เครื่องหมาย ~ เพื่ออิมพอร์ตเหมือนโมดูลโดยตรงจากโฟลเดอร์ node_modules พบคำอธิบายที่นี่: stackoverflow.com/questions/39535760/...
เอไอ

32

ตอนแรกคุณต้องติดตั้ง tether, jquery และ bootstrap ด้วยคำสั่งเหล่านี้

npm i -S tether
npm i -S jquery
npm i -S bootstrap@4.0.0-alpha.4 

หลังจากเพิ่มบรรทัดเหล่านี้ในไฟล์ angular-cli.json (angular.json ของคุณตั้งแต่เวอร์ชัน 6 เป็นต้นไป)

  "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"
  ]

2
หมายถึง $ projectRoot / .angular-cli.json หรือไม่

21

เนื่องจากไม่มีใครพูดถึงเรื่องราวอย่างเป็นทางการของทีม (angular-cli) เกี่ยวกับวิธีรวม Bootstrap เลย: https://github.com/angular/angular-cli/wiki/stories-include-bootstrap

รวมBootstrap

Bootstrapเป็นเฟรมเวิร์ก CSS ที่เป็นที่นิยมซึ่งสามารถใช้ภายในโครงการ Angular คู่มือนี้จะแนะนำคุณเกี่ยวกับการเพิ่ม bootstrap ให้กับโครงการ Angular CLI ของคุณและกำหนดค่าให้ใช้ bootstrap

ใช้ CSS

เริ่มต้นใช้งาน

สร้างโครงการใหม่และนำทางไปยังโครงการ

ng new my-app
cd my-app

การติดตั้ง Bootstrap

ด้วยโปรเจ็กต์ใหม่ที่สร้างขึ้นและพร้อมคุณจะต้องติดตั้ง bootstrap ในโปรเจ็กต์ของคุณเป็นการพึ่งพา การใช้--saveตัวเลือกการพึ่งพาจะถูกบันทึกไว้ใน package.json

# version 3.x
npm install bootstrap --save

# version 4.x
npm install bootstrap@next --save

การกำหนดค่าโครงการ

ในตอนนี้โครงการได้รับการตั้งค่าแล้วจะต้องกำหนดค่าให้รวม bootstrap 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

การติดตั้ง Bootstrap

# version 3.x
npm install bootstrap-sass --save

# version 4.x
npm install bootstrap@next --save

การกำหนดค่าโครงการ

สร้างไฟล์ที่ว่างเปล่าใน_variables.scsssrc/

หากคุณกำลังใช้อยู่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;

กลับเบราว์เซอร์เพื่อดูสีแบบอักษรที่เปลี่ยนไป


4
วิธีการแก้ปัญหานี้ไม่ได้เพิ่มไฟล์จาวาสคริปต์สำหรับ bootstrap เพียง css
Robin van der Knaap

เห็นนี้เรื่องอื่น ๆ : github.com/angular/angular-cli/wiki/stories-global-lib มันอธิบายการเพิ่มไฟล์สคริปต์โดยใช้ bootstrap 4 เป็นตัวอย่าง
Robin van der Knaap

$brand-primary: red;ไม่ได้ผลสำหรับฉัน อย่างไรก็ตาม$primary: red;ได้!
Johan Frick

ขอบคุณที่อธิบายความแตกต่างระหว่าง bootstrap vs boostrap @ next :-)
Venkatesh Muniyandi

17

อัปเดต v1.0.0-beta.26

คุณสามารถดูเอกสารสำหรับวิธีการใหม่สำหรับการนำเข้า bootstrap ที่นี่

หากยังใช้งานไม่ได้ให้รีสตาร์ทด้วยคำสั่ง ng เสิร์ฟ

1.0.0 หรือรุ่นต่ำกว่า:

ในไฟล์ index.html ของคุณคุณเพียงต้องการลิงค์ bootstrap 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

หลังจากติดตั้ง ng2-bootstrapในmy_project / src / system-config.ts:

/** 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

เพื่อนำเข้าจากโมดูลอื่นที่เป็นหลักการเดียวกัน


1
วิธีนี้ทำให้ bootstrap สามารถใช้ jquery ได้อย่างไร ฉันได้ทำสิ่งนี้แล้วและนี่ไม่ได้ผล
mjwrazor

ตัวอย่างพบสิ่งนี้ในที่สุดและทำงานได้ ฉันไม่สามารถคิดออกในขณะนี้
mjwrazor

8

ฉันเดาว่าวิธีการข้างต้นเปลี่ยนไปหลังจากการเปิดตัวลองดูที่ลิงค์นี้

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 และ 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>

1
วิธีการจาก Ahmed Hamdy ทำงานได้ชัดเจนขณะนี้มีการอัปเดตรหัส อัปเดตข้อความของเขาด้วยโซลูชัน
PeterH

1
ถ้าคุณต้องการใช้ Bootstrap 4 คุณต้องเปลี่ยน "npm install ng2-bootstrap bootstrap - บันทึก" เป็น "npm ติดตั้ง ng2-bootstrap bootstrap@4.0.0-alpha.6 --save" .... ไม่ทั้งหมด ชัดเจนในเอกสารประกอบ (ทำการค้นหา 'card-' ใน bootstrap.css เพื่อทราบว่าทำงานได้หรือไม่) ... โปรดทราบว่าขณะนี้ Alpha 6 นี้จะเปลี่ยนไปอย่างไม่ต้องสงสัย ... ตรวจสอบเว็บไซต์ bootstrap สำหรับคำสั่ง npm ปัจจุบัน
72GM

8

ขั้นตอนสำหรับ Bootstrap 4 ใน Angular 5

  1. สร้างโครงการเชิงมุม 5

    ใหม่ new AngularBootstrapTest

  2. ย้ายไปยังไดเรกทอรีโครงการ

    cd AngularBootstrapTest

  3. ดาวน์โหลด bootstrap

    npm ติดตั้ง bootstrap

  4. เพิ่ม Bootstrap ให้กับโครงการ

    4.1 open .angular-cli.json

    4.2 ค้นหาส่วน "สไตล์" ใน json

    4.3 เพิ่มเส้นทาง bootstrap css ดังนี้

    .

    "styles": [
       "../node_modules/bootstrap/dist/css/bootstrap.min.css",
       "styles.css"
    ],

ตอนนี้คุณได้เพิ่ม bootstrap css ในโปรเจค angular 5 สำเร็จแล้ว

ทดสอบบูตสแตรป

  1. เปิด src/app/app.component.html
  2. เพิ่มองค์ประกอบปุ่ม bootstrap

.

<button type="button" class="btn btn-primary">Primary</button>

คุณสามารถดูรูปแบบปุ่มได้ที่นี่ ( https://getbootstrap.com/docs/4.0/components/buttons/ )

  1. บันทึกไฟล์

  2. ดำเนินโครงการ

    ng เสิร์ฟ - เปิด

ตอนนี้คุณจะเห็นปุ่มสไตล์บูตในหน้า

หมายเหตุ: หากคุณเพิ่มเส้นทางบู๊ตสแตรปหลังจากรับบริการ ngคุณต้องหยุดและรันบริการซ้ำเพื่อสะท้อนการเปลี่ยนแปลง


6

ตั้งแต่นี้กลายเป็นความสับสนและคำตอบที่นี่ผสมทั้งหมดฉันจะแนะนำไปกับทีม ui อย่างเป็นทางการสำหรับ repo BS4 (ใช่มี repos เหล่านั้นมากมายสำหรับ NG-Bootstrap

เพียงทำตามคำแนะนำที่นี่https://github.com/ng-bootstrap/ng-bootstrapเพื่อรับ BS4

การอ้างอิงจาก lib:

ไลบรารีนี้ถูกสร้างขึ้นตั้งแต่ต้นโดยทีม ui-bootstrap เราใช้ TypeScript และกำหนดเป้าหมายเฟรมเวิร์ก CSS ของ Bootstrap 4

เช่นเดียวกับ Bootstrap 4 ไลบรารีนี้กำลังดำเนินการอยู่ โปรดตรวจสอบรายการปัญหาของเราเพื่อดูทุกสิ่งที่เรากำลังดำเนินการ รู้สึกอิสระที่จะแสดงความคิดเห็นที่นั่น

เพียงคัดลอกวางสิ่งที่มีเพื่อประโยชน์ของมัน:

npm install --save @ng-bootstrap/ng-bootstrap

เมื่อติดตั้งแล้วคุณจะต้องนำเข้าโมดูลหลักของเรา:

import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

ส่วนที่เหลือเพียงอย่างเดียวคือการแสดงรายการโมดูลที่นำเข้าในโมดูลแอปพลิเคชันของคุณ วิธีที่แน่นอนจะแตกต่างกันเล็กน้อยสำหรับโมดูลรูท (ระดับบนสุด) ซึ่งคุณควรท้ายด้วยโค้ดที่คล้ายกับ (สังเกต NgbModule.forRoot ()):

import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

@NgModule({
  declarations: [AppComponent, ...],
  imports: [NgbModule.forRoot(), ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}

โมดูลอื่น ๆ ในแอปพลิเคชันของคุณสามารถนำเข้า NgbModule ได้ง่ายๆ:

import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

@NgModule({
  declarations: [OtherComponent, ...],
  imports: [NgbModule, ...], 
})
export class OtherModule {
}

นี่เป็นพฤติกรรมที่สอดคล้องกันมากที่สุด


6
  1. ติดตั้ง bootstrap

    npm install bootstrap@next
  2. เพิ่มรหัสลงใน .angular-cli.json:

    "styles": [
      "styles.css",
      "../node_modules/bootstrap/dist/css/bootstrap.css"
    ],
    "scripts": [
      "../node_modules/jquery/dist/jquery.js",
      "../node_modules/tether/dist/js/tether.js",
      "../node_modules/bootstrap/dist/js/bootstrap.js"
    ],
  3. เพิ่ม bootstrap.css ไปที่ code style.scss ของคุณ

    @import "../node_modules/bootstrap/dist/css/bootstrap.min.css";
  4. รีสตาร์ทเซิร์ฟเวอร์ภายในเครื่องของคุณ


ในขณะที่ ngx-bootstrap นั้นดีสำหรับส่วนประกอบที่รองรับบางครั้งคุณยังต้องใช้ปลั๊กอิน jquery "ดั้งเดิม" เช่นฟังก์ชันการยุบในตาราง จากนั้นคุณยังต้องนำเข้าสคริปต์ jquery อย่างชัดเจนซึ่งคำตอบนี้จะแสดง
Christoph

โหวตขึ้นสำหรับจุด 4 (รีสตาร์ทเซิร์ฟเวอร์ในพื้นที่ของคุณ) ฉันใช้ ---> npm ติดตั้ง ngx-bootstrap bootstrap --save
Palanikumar

5

ทำตามขั้นตอนต่อไปนี้:

  1. npm install --save bootstrap

  2. และใน. triangle-cli.json ของคุณให้เพิ่มในส่วนสไตล์:

"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css"]

หลังจากนั้นคุณต้องรีสตาร์ท ng บริการของคุณ

สนุก


4
  1. ติดตั้ง Bootstrap โดยใช้ npm

    npm install bootstrap

2. ติดตั้ง Popper.js

npm install --save popper.js

3. ไปที่angular.jsonใน Angular 6 project / .angular-cli.jsonใน Angular 5 และเพิ่มรายการ:

 "styles": [
          "node_modules/bootstrap/dist/css/bootstrap.css",
          "src/styles.css"
        ],

        "scripts": [
          "node_modules/popper.js/dist/umd/popper.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.min.js"
        ]



2
  1. ทำงานในทุบตี npm install ng2-bootstrap bootstrap --save
  2. เพิ่ม / เปลี่ยนสิ่งต่อไปนี้ใน angular-cli.json
    "styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css" ], "scripts": [ "../node_modules/jquery/dist/jquery.min.js", "../node_modules/bootstrap/dist/js/bootstrap.min.js" ],

2

เปิด Terminal / พรอมต์คำสั่งในไดเรกทอรีโครงการที่เกี่ยวข้องและพิมพ์คำสั่งต่อไปนี้

npm install --save bootstrap

จากนั้นเปิดไฟล์ .angular-cli.json, ค้นหา

"styles": [ "styles.css" ],

เปลี่ยนเป็น

 "styles": [
    "../node_modules/bootstrap/dist/css/bootstrap.min.css",
    "styles.css"
  ],

ทุกอย่างเสร็จเรียบร้อย.


2

ขณะนี้ด้วยng-bootstrap 1.0.0-beta.5เวอร์ชันใหม่รองรับคำสั่ง Angular ส่วนใหญ่โดยอิงตามมาร์กอัปและ CSS ของ Bootstrap

bootstrapพึ่งพาเฉพาะที่จำเป็นในการทำงานกับนี้คือ ไม่จำเป็นต้องใช้การพึ่งพาjqueryและpopper.js

ng-bootstrap คือการแทนที่การใช้งาน JavaScript อย่างสมบูรณ์สำหรับส่วนประกอบ ดังนั้นคุณไม่จำเป็นต้องรวมbootstrap.min.jsไว้ในส่วนสคริปต์ใน. triangle-cli.json ของคุณ

ทำตามขั้นตอนเหล่านี้เมื่อคุณรวม bootstrap กับโครงการที่สร้างขึ้นด้วย angular-cli เวอร์ชันล่าสุด

  • รวมไว้bootstrap.min.cssใน .angular-cli.json ของคุณในส่วนของสไตล์

    "styles": [
       "styles.scss",
       "../node_modules/bootstrap/dist/css/bootstrap.min.css"
    ],
  • ติดตั้งการพึ่งพาng-bootstrap

    npm install --save @ng-bootstrap/ng-bootstrap
  • เพิ่มไปยังคลาสโมดูลหลักของคุณ

    import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
  • รวมสิ่งต่อไปนี้ในส่วนการนำเข้าโมดูลหลักของคุณ

    @NgModule({
       imports: [NgbModule.forRoot(), ...],
    })
  • ทำสิ่งต่อไปนี้ในโมดูลย่อยของคุณหากคุณจะใช้ส่วนประกอบ ng-bootstrap ภายในคลาสโมดูลเหล่านั้น

    import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
    
    @NgModule({
       imports: [NgbModule, ...],
    })
  • ตอนนี้โปรเจ็กต์ของคุณพร้อมที่จะใช้คอมโพเนนต์ ng-bootstrap ที่มีอยู่



2

ขั้นตอนที่ 1:
npm install bootstrap@latest --save-dev นี่จะติดตั้ง bootstrap เวอร์ชันล่าสุดอย่างไรก็ตามสามารถติดตั้งเวอร์ชั่นที่ระบุได้โดยเพิ่มหมายเลขเวอร์ชัน

ขั้นที่ 2: เปิด styles.css และเพิ่มรายการต่อไปนี้ @import "~bootstrap/dist/css/bootstrap.css"


ส่วนใหญ่คำตอบที่ดีที่สุดในปัจจุบันยกเว้นลบ - บันทึก -dev ตามที่คุณต้องการ bootstrap เพื่อปรับใช้กับแอพของคุณ
Sydwell

2

สำหรับการเพิ่ม Bootstrap และ Jquery

npm install bootstrap@3 jquery --save

หลังจากรันคำสั่งนี้โปรดไปข้างหน้าและตรวจสอบโฟลเดอร์ node_modules ของคุณคุณควรจะเห็น bootstrap และ jquery เพิ่มเข้าไป


เท่ห์ Jquery เช่นกัน
Surya R Praveen

1

angular-cliตอนนี้มีหน้าวิกิเฉพาะซึ่งคุณสามารถค้นหาทุกสิ่งที่คุณต้องการ TLDR ติดตั้งbootstrapผ่านnpmและเพิ่มลิงค์สไตล์ในส่วน "สไตล์" ใน.angular-cli.jsonไฟล์ของคุณ


1

ตัวอย่างการทำงานในกรณีที่ใช้ angular-cli และ css:

1. ติดตั้ง bootstrap

npm ติดตั้ง bootstrap tether jquery --save

2. เพิ่มไปยัง .angular-cli.json

  "styles": [
    "../node_modules/bootstrap/dist/css/bootstrap.css"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.js",
    "../node_modules/tether/dist/js/tether.js",
    "../node_modules/bootstrap/dist/js/bootstrap.js"
  ],

1

ติดตั้ง Boostrap โดยใช้ NPM

npm install boostrap@next --save

จากนั้นตรวจสอบโฟลเดอร์ node_modules ของคุณเพื่อหาไฟล์ boostrap.css (ในระยะไกล) โดยปกติเส้นทางคือ

"../node_modules/bootstrap/dist/css/bootstrap.css",

เพิ่มเส้นทางนี้ นำเข้า boostrap ภายใน style.css หรือ style.scss

@import "../node_modules/bootstrap/dist/css/bootstrap.css";  //bootstrap
@import "~@angular/material/prebuilt-themes/indigo-pink.css // angular material theme

แค่นั้นแหละ.


สิ่งที่เกี่ยวกับการวางไว้ในสไตล์ของอาร์เรย์angular-cli.json? ไม่จำเป็น
CodyBugstein

ไม่จำเป็น เนื่องจากเรารวมไฟล์ style.css ของเราไว้ในอาร์เรย์นั้น เราสามารถนำเข้าไฟล์ css อื่น ๆ ใน style.css หรือ style.scss "@import" ~@angular/material/prebuilt-themes/indigo-pink.css ";" @import "../node_modules/bootstrap/dist/css /bootstrap.css ";
Chanaka Fernando

อ้าโอเค .. แต่ฉันคิดว่าการรวมเข้าด้วยกันangular-cli.jsonน่าจะดีกว่า
CodyBugstein

@CodyBugstein ฉันไม่แน่ใจว่าจำเป็นต้อง "ดีกว่า" เพื่อเพิ่มลงใน .angular-cli.json นี่คือสาเหตุบางประการที่คุณอาจต้องการเพิ่มการนำเข้าในไฟล์ styles.scss ของคุณ: 1) คุณสามารถใช้ชุดรูปแบบการบูตเช่น Bootswatch ตัวอย่างได้ที่นี่: github.com/thomaspark/bootswatch 2) การแก้ไขไฟล์. json นั้นยุ่งยากกว่า การแก้ไขไฟล์. scss เนื่องจากไฟล์. json ไม่อนุญาตให้ใส่ข้อคิดเห็นและ 3) นักพัฒนาใหม่อาจมอง styles.scss เป็นจุดเริ่มต้นสำหรับ CSS ทั้งหมดแทนที่จะเป็น .angular-cli.json
Keith

1

เรียกใช้คำสั่งต่อไปนี้ภายในโครงการ

npm install --save @bootsrap@4

และถ้าคุณได้รับการยืนยันเช่นนี้

+ bootstrap@4.1.3
updated 1 package in 8.245s

หมายความว่าติดตั้ง Boostrap 4 สำเร็จแล้ว อย่างไรก็ตามในการใช้งานคุณจะต้องอัปเดตอาร์เรย์ "สไตล์" ภายใต้ไฟล์ angular.json

อัปเดตด้วยวิธีต่อไปนี้เพื่อให้ bootstrap สามารถแทนที่สไตล์ที่มีอยู่ได้

"styles": [
          "node_modules/bootstrap/dist/css/bootstrap.min.css",
           "src/styles.css"
          ],

เพื่อให้แน่ใจว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้องให้เรียกใช้ng serve > open browser at http://localhost:4200/ or a port you run the angular app > right click > inspect > under the head check the styles if you have bootsrap like shown belowจากนั้นคุณสามารถใช้ Boostrap ได้ดี ป้อนคำอธิบายรูปภาพที่นี่


1

ไม่เห็นอันนี้ที่นี่:

@import 'bootstrap/scss/bootstrap.scss';

ฉันเพิ่งเพิ่มบรรทัดนี้ใน style.scss ในกรณีของฉันฉันยังต้องการแทนที่ตัวแปร bootstrap


1

หากคุณเพิ่งเริ่มต้นด้วย angular และ bootstrap คำตอบง่ายๆจะอยู่ด้านล่างขั้นตอน: 1. เพิ่มโหนดแพ็คเกจของ bootstrap เป็นการพึ่งพา dev

npm install --save bootstrap
  1. นำเข้า bootstrap stylessheet ในไฟล์ angular.json

    "styles": [ "projects/my-app/src/styles.scss", "./node_modules/bootstrap/dist/css/bootstrap.min.css" ],

  2. และคุณพร้อมที่จะใช้ bootstrap สำหรับใส่สไตล์ตาราง ฯลฯ

    <div class="container">My first bootstrap div</div>

ส่วนที่ดีที่สุดของสิ่งนี้ที่ฉันพบคือเรากำลังกำกับโดยใช้ bootstrap โดยไม่ต้องพึ่งพาโมดูลบุคคลที่สาม เราสามารถอัพเกรด bootstrap ได้ทุกเวลาโดยเพียงแค่อัพเดทคำสั่งnpm install --save bootstrap@4.4ฯลฯ


1

คุณมีหลายวิธีในการเพิ่ม Bootstrap 4 ในโครงการแองกูลาร์ของคุณ :

  • รวมถึงไฟล์ Bootstrap CSS และ JavaScript ในส่วนของไฟล์ index.html ของโครงการเชิงมุมด้วย a และแท็ก

  • การอิมพอร์ตไฟล์ Bootstrap CSS ในไฟล์ global styles.css ของโครงการ Angular ของคุณด้วยคำสำคัญ @import

  • การเพิ่มไฟล์ Bootstrap CSS และ JavaScript ในสไตล์และสคริปต์อาร์เรย์ของไฟล์ angular.json ของโครงการของคุณ


1

เรียกใช้คำสั่งนี้

npm install bootstrap@3

คุณ Angular.json

"styles": [
  "node_modules/bootstrap/dist/css/bootstrap.min.css",
  "src/styles.css"
],

1

คุณสามารถติดตั้ง bootstrap ในมุมโดยใช้npm install bootstrapคำสั่ง

และเส้นทางการตั้งค่า bootstrap ถัดไปในangular.jsonไฟล์และstyle.cssไฟล์

คุณสามารถอ่านบล็อกเต็มเกี่ยวกับวิธีการติดตั้งและการตั้งค่า bootstrap ในเชิงมุมคลิกที่นี่เพื่ออ่านบล็อกเต็มเกี่ยวกับเรื่องนี้


0

ตัวอย่างการทำงานในกรณีที่ใช้ angular-cli:

npm i bootstrap-schematics
ng generate bootstrap-shell -c bootstrap-schematics -v 4
npm install

ใช้งานได้กับ css และ scss Bootstrap v3 และ v4 พร้อมใช้งาน

ข้อมูลเพิ่มเติมเกี่ยวกับบูต-แผนงานโปรดหาที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.