2016-07-14 9 views
0

私たちは別々のJavaScriptファイルを持っていますが、もちろんProductionではさまざまなものに縮小されています。現在、このタスクではコマンドラインからMicrosoft Ajax Minifierを使用していますが、その意図はgulpjsに切り替えることです。 16縮小さのうちは大丈夫であるように思わGulp mins js throws error

縮小プロセス自体すべての出力ファイルが生成され、エラーが出力に書き込まれていない、など

しかし、私は奇妙な問題を持っている、〜4-5 gulpjsによって生成されたファイルは、以下のような様々なエラーをスロー:

Cannot read property '...' of undefined

または

Uncaught TypeError: (intermediate value)(intermediate value)(...) is not a function

アヤックスマイル次のようにnifierが呼び出されます。

AjaxMin.exe -js -xml .\minify.xml -clobber -evals:safeall 

minify.xmlからサンプル:

<?xml version="1.0" encoding="utf-8"?> 
    <root> 
     <output path="..\js\min\main.min.js"> 
     <input path="..\js\filename1.js"/> 
     <input path="..\js\filename2.js"/> 
     <input path="..\js\filename3.js"/> 
     ... 
     </output> 
     <output path="..\js\min\report.min.js"> 
     <input path="..\js\filename4.js"/> 
     <input path="..\js\filename5.js"/> 
     <input path="..\js\filename6.js"/> 
     ... 
     </output> 
     ... 
    </root> 

サンプルgulpfile.js

gulp.task("[js]minify-all", function() { 
    var mainFiles = [ 
     "./js/filename1.js", 
     "./js/filename2.js", 
     "./js/filename3.js", 
    ]; 
    var reportFiles = [ 
     "./js/filename4.js", 
     "./js/filename5.js", 
     "./js/filename6.js", 
    ]; 
    ... 
    generateMinifiedFile(mainFiles, "./js/min/", "main"); 
    generateMinifiedFile(reportFiles, "./js/min/", "report"); 
    ... 
} 

var generateMinifiedFile = function(inputFiles, outputPath, outputFileName) { 
    gulp.src(inputFiles) 
     .pipe(concat(outputFileName + ".js")) 
     .pipe(minify({ 
      ext: { 
       min: ".min.js" 
      }, 
      noSource: true 
     })) 
     .pipe(gulp.dest(outputPath)); 
}; 

から、それは重要な場合は、ここでpackage.json

{ 
    "name": "package", 
    "version": "1.0.0", 
    "private": true, 
    "devDependencies": { 
    "gulp": "3.9.1", 
    "gulp-bower": "0.0.13", 
    "gulp-concat": "^2.6.0", 
    "gulp-config": "0.3.0", 
    "gulp-less": "3.0.5", 
    "gulp-minify": "0.0.12", 
    "gulp-minify-css": "1.2.4", 
    "gulp-plumber": "1.1.0", 
    "gulp-watch": "4.3.5" 
    } 
} 
です

要約:

  • 拡張されていないjsファイルを使用すると、このサイトは正常に動作します。
  • AjaxMin.exeで作成された縮小jsファイルを使用すると、このサイトは正常に動作します。
  • gulpjsで作成された縮小jsファイルを使用すると、サイトが壊れます。

誰かが私が逃した提案がありますか?コントローラを作成する

UPDATE

サンプル:

var settingsModule = angular.module("settingsModule", ["rootModule"]); 
settingsModule.controller('settingsCasesController', ["$rootScope", "$scope", "$http", "DataService", function ($rootScope, $scope, $http, dataService) { 
    ... 
} 
+0

Angularはあなたのソースにある可能性がありますか? –

+0

@IlyaNovojilovはい、角度ファイルはページ上の直接参照ファイルなので、出力ファイルのいずれにも縮小されません – Szeki

+0

角度指定を小さくしますか?もしそうならhttp://stackoverflow.com/questions/18782324/angularjs-minify-best-practice –

答えて

0

注:これはコメントする必要がありますが、それは少し長いですので、それは答えである、と答えはにeasyerであります

、私はfalseに両方gulp-minifyのオプションを設定してみたいと起動するには...読み書きするmanglecompress

コードが正常に実行されている場合は、障害の原因の1つを確認するために、falseに1つのオプションのみを設定してください。

コードが壊れている場合(これは非常に奇妙なことですが、ミニライザの主なタスクは圧縮してmangleすることです)、私は手作業で1つのgulp-minifyファイルの出力をソース、変更内容を確認する...

+0

'compress'と' mangle'をfalseに設定しましたが、同じ問題が残っています – Szeki

+0

手動でgulp-minifyedファイルをソースに追加し、変更内容とその変更内容を確認し、根本的な問題をトレースします。 – MarcoS

+0

もう1つ質問:あなたのコードはjslintチェックをパスしますか? – MarcoS

関連する問題