@micjamking Câu trả lời là một gợi ý thực sự tốt, nhưng vì với những thứ Yeoman nên dễ dàng hơn, tôi sẽ giúp bạn tiết kiệm một số googling:
yo angular
- Nói 'Không' để Bootstrap ở đây - nếu không nó sẽ tải về phiên bản 2.x
bower install --save bootstrap
npm install --save-dev grunt-bower-install
chỉnh sửa Gruntfile.js - chèn đánh dấu dòng:
// ...
} catch (e) {}
grunt.loadNpmTasks('grunt-bower-install'); // INSERT
grunt.initConfig({
yeoman: yeomanConfig,
'bower-install': { // INSERT BEGIN
target: { // .
html: '<%= yeoman.app %>/index.html', // .
ignorePath: '<%= yeoman.app %>/' // .
} // .
}, // INSERT END
watch: {
coffee: {
files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],
tasks: ['coffee:dist']
// ...
chỉnh sửa ứng dụng/index.html - chèn:
<!-- bower:css -->
<!-- endbower -->
và:
<!-- bower:js -->
<!-- endbower -->
nơi thích hợp - nguồn những sẽ bơm tham chiếu đến Bower quản lý (stylesheet bootstrap và JS trong trường hợp của chúng tôi).
cập nhật ngày 10/5/2013: Cân nhắc đặt bower:xxx
bên trong build:xxx
.
Trong trường hợp của chúng tôi, bower:css
bên trong build:css
và bower:js
bên trong build:js
.
Điều này là cần thiết để giảm thiểu hoạt động khi lắp ráp dist
. Tuy nhiên tôi xem xét cách tiếp cận này không hoàn hảo như vậy - xem chú thích dưới đây. Tôi xin lỗi một chút, vì đây là cách rất giống với phiên bản bootstrap thu được bởi Yeoman theo mặc định được bao gồm trong ứng dụng của chúng tôi :-P
Lưu ý: Để làm việc css minification, bạn cần thay đổi build:css(.tmp)
thành build:css({.tmp,app})
.
grunt bower-install
Ready. Bây giờ chạy máy chủ (grunt server
) và Bootstrap 3 sẽ có sẵn.
Các chú thích - Cập nhật 2013/10/05 - lấy cảm hứng từ cuộc điều tra @ Luke trong một chú thích:
Dựa trên this tôi đã thêm một tiểu bước để làm cho công việc dist
việc rút gọn.
Công trình tiêm của Bower, do đó, giảm thiểu, tuy nhiên tôi không hài lòng với cách tiếp cận này.
Lý do:
- [nhỏ] Chúng tôi không sử dụng tài nguyên đã minified thu được bằng cách Chòi chơi.
- Giảm thiểu tất cả các loại CSS/JS thành một tệp SINGLE là một ý tưởng khá lame. Một cách tốt hơn để bao gồm các phụ thuộc bên ngoài trong ứng dụng của bạn sẽ có một chuyển đổi giữa CDN-fetch (dist) và các bản sao cục bộ thu được với bower (dev). Sth như hồ sơ maven.
- Tùy thuộc vào kích thước ứng dụng, tải xuống tất cả-trong-một tài nguyên, đặc biệt là JavaScripts, sẽ làm chậm cuộc gặp gỡ đầu tiên với ứng dụng của chúng tôi.
Sau đó phần còn lại của ứng dụng sẽ được tải nhanh hơn, đúng, nhưng lần đầu tiên người dùng vào trang của chúng tôi, những người đơn lẻ đơn lẻ sẽ phải được tải xuống trước.
@yao tony cũng không thấy cách tiếp cận này thú vị - hãy xem câu hỏi được tham chiếu.
Cập nhật tháng 11 năm 2013: Bạn có thể sử dụng nhiệm vụ cdnify
của grunt. Đó là mát mẻ
phiên bản phần mềm tôi đã sử dụng:
[email protected]:~/somewhere $ yo -v; grunt --version; bower -v
1.0.4
grunt-cli v0.1.9
grunt v0.4.1
1.2.6
Đối với bất kỳ ai khác đang cố gắng sử dụng v3 với máy phát điện góc, dự án vừa được cập nhật kèm theo. Đi tới [vấn đề này] (https://github.com/yeoman/generator-angular/pull/429) và làm theo hướng dẫn. – user1724490