Saya ingin memindahkan pengontrol saya ke file itu sendiri sambil memiliki file konfigurasi modul di file terpisah

Untuk saat ini saya memiliki kode ini:

# Module part
voucherModule = angular.module(
    'Backoffice.Vouchers'
    [
        'Core.Repository.Voucher'
        'ui.router'
    ]
)

voucherModule.config ($stateProvider) ->
    $stateProvider
        .state 'vouchers',
        url: '/vouchers'
        data:
            title : 'Vouchers'
        views:
            "main":
                controller: 'VoucherListController'
                templateUrl: 'views/vouchers/voucher-list.html'

# Controller part. Below should go to different file.

class VoucherListController extends BaseController
    @register voucherModule
    @inject '$scope', '$state', '$rootScope', 'VoucherRepository'

Saya memiliki banyak file .coffee yang dikompilasi menjadi satu file menggunakan gulp.

Ketika saya memotong kode pengontrol dan memindahkannya ke file yang berbeda, saya mendapatkan kesalahan berikut:

Kesalahan: [$injector:modulerr] Gagal membuat instance modul Backoffice.App karena:
[$injector:modulerr] Gagal membuat instance modul Backoffice.Shop karena:
[$injector:nomod] Modul 'Backoffice.Shop' tidak tersedia! Anda salah mengeja nama modul atau lupa memuatnya.

Seperti yang Anda lihat, itu bahkan bukan kesalahan modul terkait. Saya melihat kompilasi kali ini berbeda:

--- BEFORE ---
var VoucherListController, voucherModule;

voucherModule = angular.module('Backoffice.Vouchers', ['Core.Repository.Voucher', 'ui.router']);
voucherModule.config(function($stateProvider) {
  return $stateProvider.state('vouchers', {/*..*/});
});

VoucherListController = (/* controller-code */)(BaseController);

--- AFTER ---
var VoucherListController;

VoucherListController = (/* controller-code */)(BaseController);

var voucherModule;
voucherModule = angular.module('Backoffice.Vouchers', ['Core.Repository.Voucher', 'ui.router']);
voucherModule.config(/*..*/);

Tugas file Gulp:

gulp.task('build-core', function () {
    return gulp.src(sources.coffee.core) // AngularCore/**/*.coffee
        .pipe(continueOnError(coffee({bare:true})).on('error', gutil.log))
        .pipe(concat('core.js'))
        .pipe(gulp.dest(destinations.javascript.core)) // app/js/lib/
});

Dapatkah seseorang membantu saya untuk mencari tahu apa yang salah? Pada dasarnya modul dan kode pengontrol berpindah tempat dan var posisi berpindah.

1
Justinas 15 Januari 2018, 19:34

1 menjawab

Jawaban Terbaik

Seperti yang dikatakan Izagkaretos, saya hanya perlu membagi jalur ke beberapa bagian dalam konfigurasi tegukan, dan kemudian semuanya berfungsi dengan baik.

gulp.task('build-core', function () {
    return gulp.src(sources.coffee.core) // [AngularCore/**/*Module.coffee, AngularCore/**/*.coffee]
        .pipe(continueOnError(coffee({bare:true})).on('error', gutil.log))
        .pipe(concat('core.js'))
        .pipe(gulp.dest(destinations.javascript.core)) // app/js/lib/
});
0
Justinas 19 Januari 2018, 07:26