Rumah >hujung hadapan web >tutorial js >Meningkatkan aliran kerja ember.js anda menggunakan gulp.js
Kelebihan utama menggunakan gulp.js dengan emer.js
Artikel ini menunjukkan bagaimana Gulp.js dapat meningkatkan aliran kerja pembangunan Ember.js anda dengan mengautomasikan tugas berulang. Ini termasuk kompilasi SCSS, JavaScript dan CSS minification dan concatenation, pemantauan fail, kompilasi templat hendal, dan pengoptimuman kod JavaScript. Kami akan meneroka persediaan dan konfigurasi plugin Gulp.js penting untuk mencapai ini.Panduan ini menganggap kebiasaan dengan Gulp.Js. Sekiranya anda memerlukan penyegaran, rujuk pengenalan SitePoint kepada Gulp.Js.
Standard Ember.js Cabaran Pembangunan
projek Ember.js sering melibatkan menguruskan fail SCSS, CSS, JavaScript, dan hendal. Mari kita periksa tugas biasa:
Plugin Gulp.js Essential
kami akan menggunakan plugin berikut:
gulp
gulp-compass
gulp-uglify
gulp-watch
gulp-concat
gulp-ember-handlebars
Pemasangan plugin
package.json
npm install gulp -g
npm install gulp gulp-compass gulp-uglify gulp-watch gulp-concat gulp-ember-handlebars --save-dev
anda sekarang harus menyenaraikan plugin ini di bawah package.json
. devDependencies
Buat fail
dan tambahkan kod berikut untuk mengimport plugin:<code class="language-javascript">var gulp = require('gulp'), compass = require('gulp-compass'), watch = require('gulp-watch'), handlebars = require('gulp-ember-handlebars'), uglify = require('gulp-uglify'), concat = require('gulp-concat');</code>
Menentukan tugas -tugas gulp
mari kita tentukan tugas untuk operasi biasa. Ingat bahawa laluan fail adalah relatif kepada gulpfile.js
.
dist/css
. <code class="language-javascript">gulp.task('css', function() { return gulp.src('scss/*.scss') .pipe(compass({ sass: 'scss' })) .pipe(concat('main.min.css')) .pipe(gulp.dest('dist/css')); });</code>
js/
. <code class="language-javascript">gulp.task('templates', function() { gulp.src(['js/templates/**/*.hbs']) .pipe(handlebars({ outputType: 'browser', namespace: 'Ember.TEMPLATES' })) .pipe(concat('templates.js')) .pipe(gulp.dest('js/')); });</code>
dist/js
. <code class="language-javascript">gulp.task('scripts', function() { // ... (Your JavaScript file list here) ... return gulp.src(scriptSrc) .pipe(uglify({ mangle: false })) .pipe(concat('main.min.js')) .pipe(gulp.dest('dist/js')); });</code>
<code class="language-javascript">gulp.task('watch', function() { gulp.watch('scss/*.scss', ['css']); gulp.watch('js/templates/**/*.hbs', ['templates']); gulp.watch('js/**/*.js', ['scripts']); });</code>
Menggunakan tugas
gulp
) untuk memulakan tugas menonton dan membina semula secara automatik pada perubahan fail. Anda mungkin mahu menyesuaikan tetapan gulp default
untuk pembangunan untuk mengelakkan pemprosesan yang tidak perlu. uglify
<code class="language-javascript">gulp.task('default', ['css', 'templates', 'scripts', 'watch']);</code>
gulp production
<code class="language-javascript">gulp.task('production', ['css', 'templates', 'scripts']);</code>ingat untuk menggantikan senarai fail JavaScript Pemegang Sedang dalam tugas
dengan fail projek sebenar anda. Rujuk dokumentasi untuk setiap plugin untuk pilihan penyesuaian lanjutan. Persediaan ini menyediakan aliran kerja yang mantap dan cekap untuk projek Ember.js anda. scripts
Atas ialah kandungan terperinci Meningkatkan aliran kerja ember.js anda menggunakan gulp.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!