2016-09-14 5 views
1

私は約12ヶ月前にインターンとして開始した角度アプリで作業を再開しています。 以前は私が今経験しているエラーはありませんでした。完全に変更されていないソースコードでのエラー

(intermediate value)(intermediate value)(...) is not a function

Failed to instantiate module app due to Error: [$injector:modulerr] Failed to instantiate module ngSanitize due to: Module 'ngSanitize' is not available

:私は私の新しいコンピュータ、と私はもともとアプリを開発した上でも、私の古いコンピュータ上にリポジトリのクローンを作成するとき今、私は次のエラーを受信して​​います

bower.json

"dependencies": { 
    "angular": "~1.4.7", 
    "angular-bootstrap": "~0.14.3", 
    "angular-ui-router": "~0.2.15", 
    "bootstrap": "~3.3.5", 
    "checklist-model": "~0.6.0", 
    "font-awesome": "fontawesome#~4.4.0", 
    "ngSignaturePad": "*", 
    "signature_pad": "~1.5.1", 
    "angular-bootstrap-datetimepicker": "latest", 
    "moment": "~2.10.6", 
    "angular-sanitize": "~1.4.7", 
    "ui-select": "angular-ui-select#~0.13.2", 
    "angular-touch": "~1.4.7", 
    "angular-ui-grid": "~3.0.7", 
    "angular-spinner": "~0.8.0", 
    "angularPrint": "angular-print#~0.3.8", 
    "lodash": "~4.13.1" 
}, 
"resolutions": { 
    "angular": "~1.4.7" 
} 

ngSanitizeモジュールは、js依存関係のためにgulpfileに含まれ、angular.moduleで宣言されています。

gulp.task('js-deps', function() { 
gulp.src([ 
    './public/bower_components/moment/moment.js', 
    './public/bower_components/jquery/dist/jquery.min.js', 
    './public/bower_components/bootstrap/dist/js/bootstrap.js', 
    './public/bower_components/lodash/dist/lodash.min.js', 
    './public/bower_components/angular/angular.min.js', 
    './public/bower_components/angular-ui-grid/ui-grid.min.js', 
    './public/bower_components/angular-ui-router/release/angular-ui-router.min.js', 
    './public/bower_components/checklist-model/checklist-model.js', 
    './public/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js', 
    './public/bower_components/signature_pad/signature_pad.js', 
    './public/bower_components/ngSignaturePad/ngSignaturePad.min.js', 
    './public/bower_components/angular-bootstrap-datetimepicker/src/js/datetimepicker.js', 
    './public/bower_components/angular-sanitize/angular-sanitize.min.js', 
    './public/bower_components/ui-select/dist/select.min.js', 
    './public/bower_components/angular-touch/angular-touch.min.js', 
    './public/bower_components/spin.js/spin.min.js', 
    './public/bower_components/angular-spinner/angular-spinner.min.js', 
    './public/bower_components/angularPrint/angularPrint.js' 
    ]) 
    .pipe(concat('deps.js')) 
    .pipe(gulp.dest('./build/js')); 

angular-sanitize.min.js.mapも含まれ

gulp.src([ 
    './public/bower_components/angular/angular.min.js.map', 
    './public/bower_components/angular-sanitize/angular-sanitize.min.js.map', 
    './public/bower_components/angular-touch/angular-touch.min.js.map' 
    ]) 
    .pipe(gulp.dest('./build/js')); 

良いことは、私は上の偉大な教訓を学んだということです

angular.module('app', [ 
    'ui.grid', 
    'ui.router', 
    'ui.bootstrap', 
    'checklist-model', 
    'ngSignaturePad', 
    'ui.bootstrap.datetimepicker', 
    'ngSanitize', 
    'ui.select', 
    'ngTouch', 
    'angularSpinner', 
    'AngularPrint' 
    ]) 

角度モジュールDockerや迷彩ファイルなどのツールで自分の環境をキャプチャすることの重要性。

私が最初に今のアプリを開発したときの間で異なっていたものを考えるようにしようとしています。以来、私は私の古いコンピュータで

更新npmnodejs、そしておそらく、私は、gulp -g、およびbower -gをかどうか分かりません。

サーバーまたはnpmの依存関係に問題がないため、npmまたはnodejsに問題はありません。私はサーバをうまく起動できます。ブラウザコンソールにエラーが表示されます。問題はgulpがビルドコードバンドルであることが原因です。

私は、これらの各の古いバージョンをインストールする依存関係を再インストールして、無駄に、コードを再構築しようとしました。

私はngSanitizeに依存コードバンドルを見ることができますが、ビルドでエラーが発生した場合、私は何を探すべきか分かりません。

私はこの問題を解決するための次の手掛かりを探してください

答えて

1

私のメンター、グレッグに、これを理解するのを手伝ってくれてありがとう。

このエラーはあいまいで、ソリューションはすべて、これがなぜ起こったかに光を当てていませんが、ここにある:ui.bootstrap.datetimepicker

すべてが失敗します。

angular.module('app', [ 
    'ui.grid', 
    'ui.router',, 
    'ui.bootstrap', 
    'checklist-model', 
    'ngSignaturePad', 
    'ui.bootstrap.datetimepicker', 
    'ngSanitize', 
    'ui.select', 
    'ngTouch', 
    'angularSpinner', 
    'AngularPrint' 
    ]) 

私は上など、その後ui.selectが失敗し、ngSanitizeをコメントアウトした場合。

datetimepicker.jsファイルの末尾にセミコロンを追加すると、ビルドの動作とエラーはなくなります。安堵しながらも、まだイライラしています。

この同じ問題を抱えている人は、gulpfileを変更して、必要なものを追加してください。;

npm install --save gulp-insert

はgulpfile

gulp-insertを必要とするファイルの連結は

var insert = require('gulp-insert'); 
    ... 
    ... 
    './public/bower_components/angular-spinner/angular-spinner.min.js', 
    './public/bower_components/angularPrint/angularPrint.js' 
]) 
.pipe(insert.append(';')) 
.pipe(concat('deps.js')) 
.pipe(gulp.dest('./build/js')); 
を発生する前に .pipe(insert.append(';'))を追加します。
関連する問題