2013-10-30 117 views
5

我有一個Gruntfile運行concat和uglify與特定的選項(即mangle toplevel變量),然後我使用sed來更新index.html中縮小文件的引用。此解決方案有效,但由於sed而不能很好地維護。我試圖使用usemin,但我無法弄清楚如何定義我自己的自定義步驟,併爲uglifyjs提供正確的選項,而doco在示例中缺少這些。我試圖用同樣的醜化的任務,我以前曾寫過:usemin定義自定義步選項

uglify: { 
     options: { 
     banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n', 
     mangle: { 
      except: ['$', 'd3'], 
      toplevel: true 
     } 
     }, 
     build: { 
     src: 'demo/js/<%= pkg.name %>.js', 
     dest: 'demo/js/<%= pkg.name %>.min.js' 
     } 
    }, 
    useminPrepare : { 
     html : 'src/index.html', 
     options: { 
      flow: { 
       steps: {'js' : ['uglify'] } 
      } 
     } 
    } 

,但我收到此錯誤:

Warning: Cannot find module 'path-to-module\node_modules\grunt-usemin\lib\config\uglify' Use --force to continue.

是否有可能做到這一點,如果是的話,我在做什麼這裏錯了嗎?

回答

7

嘗試在您的流量選項中替換uglifyuglifyjs

+0

謝謝!控制檯輸出讓我不知道什麼是錯的。 – SimplGy

+0

我四處搜尋相關的問題,發現這個 - 我的情況需要我做uglifyjs> uglify這裏是我的問題是用grunt-usemin – landed