2016-11-22 1 views
0
내가했던

다음과 같은 사항을 제어 파일을로드 :, 그것은 모듈 파일 전에

  1. 올바른 규칙과 모듈을 만든 : 당신은 내가 염두이었다 볼 수 있듯이 var myApp = angular.module('myApp', []);을 넣어 [] 두 번째 PARAM로
  2. 나는 같은 파일 내부의 컨트롤러를 생성하며 다음과 같은 규칙을 절대적으로 잘 작동 : 나는 separ 이러한 컨트롤러를 이동하기로 결정 내 코드를 청소하는 동안, var myApp = angular.module('myApp').Controller(...)

지금 파일을 먹고 내 모듈은 다음과 같은 오류와 함께 실패 시작 :이 모듈 파일 전에 별도의 컨트롤러 파일을로드처럼

aught Error: [$injector:nomod] Module 'maintenance.portability.module' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.(…)

그것은 소리. 브라우저가 별도의 컨트롤러 파일을로드하기 전에 모듈 파일이로드되었는지 어떻게 확인합니까?

+1

index.html 스크립트에 새 파일을 포함시키는 것을 잊지 않았습니까? 또는 축소 기술을 사용하는 경우,이 파일은 축소 할 파일 패턴에 포함되어 있습니까? – lucasnadalutti

+0

문제는 모듈을로드하기 전에 별도의 컨트롤러 파일을로드하려고하는데 실제로 원래 모듈 정의를 찾을 수 없다고 생각합니다. 나는 질문을 내 생각으로 업데이트했다. 그러나 질문에 대답하기 위해 축소화 기술을 사용하지 않습니다. – TeaLeave

+0

스크립트를 가져 오는 순서에 따라 다르지만이 경우에도 해당 될 수 있습니다. 먼저 모듈의 파일을 가져와야합니다. – lucasnadalutti

답변

0

모듈을 사용하여이 작업을 수행하는 올바른 방법이있을 수 있지만 모든 파일을 동일한 파일에 연결하는 데 gulp를 사용합니다. 다음 배포 공개 자바 스크립트 폴더에두고,

var gulp = require('gulp'); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 
var babel = require('gulp-babel'); 

gulp.task('default', ['scripts', 'scripts:watch']); 

gulp.task('scripts', function() { 
    return gulp.src('path/to/javascript/files/**/*.js') 
    .pipe(babel({ 
     presets: ['es2015'] 
    })) 
    .pipe(concat('app.min.js')) 
    .pipe(uglify({ 
     mangle: false 
    })) 
    .pipe(gulp.dest('./public/js')); 
}); 

gulp.task('scripts:watch', function() { 
    gulp.watch('path/to/javascript/files/**/*.js', ['scripts']); 
}); 

이, 자바 스크립트 파일을 모두 취 ES5하도록 transpiles,이를 최소화 함께 그들을 모두 연결합니다 : 여기 내 gulpfile입니다. 감시 작업은 꿀꺽 꿀꺽 마실 때마다 자바 스크립트 중 하나를 저장할 때마다이 작업을 수행합니다. mangle이 false로 설정되었는지 확인하십시오. 내 경험상 변수 이름에 각도가 중요합니다.