2013-02-25 38 views
7

Có tệp cấu hình nào hoặc thứ gì đó chúng tôi có thể thay đổi trong yeoman để đặt thư mục "ứng dụng" thành thư mục khác không? Tôi làm việc với Zend Framework 2 và nó sử dụng thư mục "public" là root yeoman sử dụng "app".Thay đổi tên thư mục ứng dụng của yeoman

Tôi thấy rằng tôi có thể đặt tên thư mục trong tệp Grunt.js nhưng sẽ tốt hơn nếu đặt lại các giá trị mặc định trong yeoman.

+4

Xin đừng bao gồm "Bất kỳ đầu vào nào được đánh giá cao". trong câu hỏi của bạn. Đó là tiếng ồn vô dụng. – Doorknob

+0

Bạn đang chạy phiên bản Yeoman nào? –

+0

Phiên bản Yeoman 0.9.6 –

Trả lời

4

Với phiên bản 1.4.7:

1) Đối với thư mục ứng dụng:

Gruntfile.js:

var appConfig = { 
    app: require('./bower.json').appPath || 'app', 
    dist: 'www' 
}; 

index.html:

<!-- build:js({.tmp,app}) scripts/scripts.js --> 

Chòi chơi.json:

"appPath": "app" 

thử nghiệm/karma.conf.js

'app/scripts/**/*.js' 

2) cho các thư mục, TP:

Chỉ trong Gruntfile.js

var appConfig = { 
    app: require('./bower.json').appPath || 'app', 
    dist: 'www' 
}; 
7

Bạn muốn thay đổi cài đặt Gruntfile.js, kể từ phiên bản 1.0 mọi thứ được liệt kê tại đây và việc xây dựng chỉ được thực hiện bởi Grunt.

Khi họ viết trên website:

Yo giàn giáo ra một ứng dụng mới, viết cấu hình Grunt của bạn và kéo trong nhiệm vụ Grunt liên quan mà bạn có thể cần cho xây dựng của bạn.

Bower được sử dụng để quản lý phụ thuộc, do đó bạn không còn phải tải xuống và quản lý tập lệnh của mình theo cách thủ công nữa.

Grunt được sử dụng để xây dựng, xem trước và thử nghiệm dự án của bạn, nhờ sự trợ giúp từ các nhiệm vụ được giám sát bởi nhóm Yeoman và người đóng góp.

Tôi không thể nhớ nơi các thiết lập cũ là trong gruntfile, nhưng trong phiên bản 1.0 là tại dòng 11 và trông như thế này:

// configurable paths 
var yeomanConfig = { 
    app: 'app', 
    dist: 'dist' 
}; 
+0

Nhìn vào 'Gruntfile.js', tôi thấy 'app' xuất hiện ở một vài vị trí khác. Dòng 11 là gì bây giờ ** 18 **. Ngoài ra còn có 61 và 142. Các dòng này có cần được cập nhật không? – curtisblackwell

1

Cập nhật đến 1.0 và chỉnh sửa Gruntfile.js bạn

// configurable paths 
var yeomanConfig = { 
    **app: 'app',** 
    dist: 'dist' 
}; 
+0

Tôi đang ở trên các cửa sổ và không có bản phát hành nào cho các cửa sổ chưa có bản beta 1.0: ( –

+0

Bạn có quan tâm đến việc xây dựng "máy chủ" hoặc "dist" không? Nếu bạn quan tâm đến việc xây dựng dist, bạn có thể sử dụng grunt- gói phần mềm sao chép để di chuyển "ứng dụng" sang "công khai" –

+0

"dev" vì vậy tôi đoán "máy chủ" –

0

Xin lỗi vì hồi sinh này, tuy nhiên tôi đã tìm thấy một vài địa điểm mà điều này cần phải thay đổi và cảm thấy rằng tôi có thể thêm một số giá trị:

Tôi sử dụng Laravel, trong đó sử dụng một ứng dụng và thư mục công cộng, và chưa bao giờ sử dụng zend, nhưng tôi giả định rằng một cái gì đó tương tự nên áp dụng.

cài đặt Yeoman tạo ra ứng dụng vào yeoman:

/[zendapproot]/

mkdir yeoman && cd yeoman 
yo angular [appName] 

/[zendapproot]/yeoman/

append contents of `/[zendapproot]/yeoman/.gitignore` into `/[zendapproot]/.gitignore` 
move everything except the app directory into /[zendapproot]/ 

chỉnh sửa .bowerrc

{ 
"directory": "yeoman/app/bower_components" 
} 

chỉnh sửa Gruntfile.js để thay đổi ứng dụng và thư mục, TP

yeoman: { 
    // configurable paths 
    app: require('./bower.json').appPath || 'yeoman', 
    dist: 'public/assets' 
}, 

chỉnh sửa karma.conf.js

files: [ 
    'yeoman/app/bower_components/angular/angular.js', 
    'yeoman/app/bower_components/angular-mocks/angular-mocks.js', 
    'yeoman/app/bower_components/angular-resource/angular-resource.js', 
    'yeoman/app/bower_components/angular-cookies/angular-cookies.js', 
    'yeoman/app/bower_components/angular-sanitize/angular-sanitize.js', 
    'yeoman/app/bower_components/angular-route/angular-route.js', 
    'yeoman/app/scripts/*.js', 
    'yeoman/app/scripts/**/*.js', 
    'yeoman/app/test/mock/**/*.js', 
    'yeoman/app/test/spec/**/*.js' 
], 

chạy grunt test để đảm bảo kiểm tra được làm việc.

chạy grunt serve để phục vụ các ứng dụng web trong một thử nghiệm env

chạy grunt để xây dựng mà nên lưu trữ các ứng dụng trong public/assets

Bây giờ đây là phần tôi không chắc chắn về ...

Hiện tại, tôi xóa htmlminrev từ grunt.registerTask('build'... trong Gruntfile.js để dừng việc rút gọn html và ngừng tài sản được đổi tên.

sau đó tôi mở ra xem mẫu bậc thầy của tôi từ Laravel (Zend trong trường hợp của bạn), và thay đổi kịch bản và phong cách đó được cung cấp trong grunt xây dựng index.html /public/assets/index.html

Nếu ai có một cách tốt hơn giải quyết ở trên, xin vui lòng chia sẻ. ví dụ. liên quan đến việc chuyển tên tệp nội dung đã đổi tên thành mẫu xem ứng dụng zend/laravel.

2

cho góc phiên bản máy phát điện 0.9.5 công trình cho tôi:

  • thay đổi tên thư mục từ để ứng dụng bất cứ điều gì bạn cần, ví dụ 'clientapp'
  • chỉnh sửa gruntfile.js, sự thay đổi trong ứng dụng appConfig: 'clientapp'
  • chỉnh sửa thay đổi bower.json dòng "appPath": "clientapp"
  • trong thư mục đổi tên tìm index.html, sau đó tìm và chỉnh sửa một phần trong bình luận

    build: js ({. Tmp, clientapp}) scripts/scripts.js

  • trong kiểm tra thư mục tìm karma.conf.js và thay đổi ứng dụng để 'clientapp' trong phần file

0

Khi tạo một dự án mới (đối với góc ít nhất), có một arg dòng cmd cho việc này: --appPath = [newPath]:

yo angular --appPath=public 

Làm thế nào để thay đổi tên thư mục, TP:

Ngoài ra, đối với bất kỳ ai kết thúc ở đây tìm cách thay đổi tên thư mục dist (như tôi đã làm): Không có dòng cmd arg mà tôi có thể tìm thấy, do đó bạn cần chỉnh sửa thủ công Gruntfile.js tại dòng 21 sau khi tạo dự án của bạn, nhưng trước khi chạy grunt:

// Configurable paths for the application 
var appConfig = { 
    app: require('./bower.json').appPath || 'app', 
    //dist: 'dist' 
    dist: 'public' 
}; 
Các vấn đề liên quan