2016-05-26 28 views
7

Il mio progetto è un progetto yo/angolare piuttosto elementare. Ho la seguente configurazione di cssmin.cssmin mi sta dando "Il percorso deve essere una stringa Ricevuto indefinito"

useminPrepare: { 
     html: '<%= yeoman.app %>/index.html', 
     options: { 
     dest: '<%= yeoman.dist %>', 
     flow: { 
      html: { 
      steps: { 
       js: ['concat', 'uglifyjs'], 
       css: ['cssmin'] 
      }, 
      post: {} 
      } 
     } 
     } 
    }, 
... 
    cssmin: { 
     dist: { 
     files: { 
      '<%= yeoman.dist %>/styles/main.css': [ 
      '.tmp/styles/{,*/}*.css' 
      ] 
     } 
     } 
    }, 
... 
    grunt.registerTask('build', [ 
    'clean:dist', 
    'wiredep', 
    'useminPrepare', 
    'concurrent:dist', 
    'autoprefixer', 
    'concat', 
    'ngAnnotate', 
    'copy:dist', 
    'cdnify', 
    'cssmin', 
    'uglify', 
    'filerev', 
    'usemin', 
    'htmlmin' 
    ]); 

quando corro grugnito accumulo ricevo il seguente errore:

Running "cssmin:generated" (cssmin) task 
Warning: Path must be a string. Received undefined Use --force to continue. 

Aborted due to warnings. 


Execution Time (2016-05-26 00:57:04 UTC) 
concurrent:dist  15s 
autoprefixer:server 3.3s 
ngAnnotate:dist  3.6s 
cdnify:dist   10.7s 
cssmin:dist   888ms 
Total 34.6s 

ho visto questo errore su altri posti, ma non con cssmin. Ho aggiornato le mie librerie in package.json al più recente, che potrebbe essere la causa.

Questo progetto stava andando bene in una volta. Non riesco a determinare quale percorso manca. Qualcuno sa quale percorso mi manca?

+1

ho trovato questo: https://github.com/yeoman/generator-angular/issues/1320, provare a utilizzare NVM per passare al nodo 0.10.45. – jonrsharpe

+0

Il thread che @jonrsharpe ha collegato contiene un altro collegamento di peterkwidjaja con una soluzione che è una patch per cssmin che non richiede un downgrade del nodo [github] (https://github.com/gruntjs/grunt-contrib-cssmin/tirare/271/impegna/11e655873dfa58b6edcda0113cee612f7a6b2ab9? diff = split). – molbioguy

risposta

5

EDIT: risposta è ormai obsoleto, vedere https://stackoverflow.com/a/39482214/1215723 sotto

Maggiori informazioni in esecuzione l'opzione verbose:

youri$ grunt -v 

Running "cssmin:generated" (cssmin) task 
Verifying property cssmin.generated exists in config...OK 
Files: [no src] -> dist/styles/vendor.css 
Files: .tmp/styles/main.css -> dist/styles/main.css 
Options: rebase=false, report="min", sourceMap=false 
Warning: Path must be a string. Received undefined Use --force to continue. 

Sembra we are not alone. Seguendo il pangrattato problema, ho trovato:

La soluzione suggerita è quella di downgrade al nodo v5, e in effetti, funziona (per me). Puoi anche installare un gestore di versione del nodo se lo trovi più conveniente.

+1

download fare nodo v5? sono solo nella frustrazione per grugnito? –

+0

Non sei solo. – schellsan

+1

absolete, vedi commento da drmartin – Sonne

6

In realtà quel problema è stato risolto, aggiorna la versione per la v1.0.2 link here

3

Hai solo bisogno di:

modifica con questo nella vostra package.json

"grunt-contrib-cssmin": "^1.0.2", 

poi

npm install 
Problemi correlati