2016-05-03 145 views
1

我想使用gulp實用程序混淆我的JS代碼。 [離子應用]代碼混淆的執行順序

gulp.task('ng_annotate_app',function (done) { 
     gulp.src(['!www/js/toaster.min.js','www/js/*.js','www/common/*.js']) 
     .pipe(strip()) 
      .pipe(stripDebug()) 
      .pipe(rename({ 
       suffix: ".min", 
       extname: ".js" 
      })) 
      .pipe(uglify({mangle: false})) 
      .pipe(ngAnnotate({single_quotes: true})) 
      .(obfuscate()) 
     .pipe(gulp.dest('www/dist')) 
     .on('end', done); 
    }); 

我有我的角度模塊啓動器在文件a.js和工廠在b.js像下面。 a.js:

var mod=angular.module ... 

b.js

mod.factory ... 

VAR模上面在越來越模糊一些虛擬串a.js但b.js是unchanged.Hence我的應用程序顯示錯誤並且無法運行。

幫助表示讚賞!

回答

0

在我看來,不要使用從一個文件到另一個文件的變量。而不是使用mod.factory,您可以使用angular.module('<Your module name>').factory

或者您可以將相關文件分組到另一個模塊中,例如angular.module('<another module name>',[]).factory然後在主要模塊文件(app.js主要)的依賴關係中包含此模塊angular.module('myApp', ['<another module name>'])

+0

感謝您的回覆。我現在可以通過在app.js中聲明和使用相同的變量來調用,但是在$ httpProvider.defaults.headers.delete中,這裏的頭文件被模糊處理,因此刪除失敗導致未定義的錯誤。 – Anand

+0

關於這個的任何想法? – Anand

0

我遇到了同樣的問題..您需要使用一種工具來確保它查看所有提交的文件並保持相同所有文件上的名稱,不會破壞任何依賴關係。 Jscrambler保證和爲我工作。