私たちは別々の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) {
...
}
Angularはあなたのソースにある可能性がありますか? –
@IlyaNovojilovはい、角度ファイルはページ上の直接参照ファイルなので、出力ファイルのいずれにも縮小されません – Szeki
角度指定を小さくしますか?もしそうならhttp://stackoverflow.com/questions/18782324/angularjs-minify-best-practice –