2015-06-08 6 views
11

Mi sento come se mi mancasse qualcosa di stupido qui, qualcuno può spiegarmi perché non riesco a tirarmi dentro .bowerrc in gulp? La struttura e il processo di file dovrebbero essere estremamente semplice:Gulp/Bower - mantenimento della consistenza

File Tree

global.js

"use strict"; 

var gulp = require('gulp'); 
var bowerRC = require('../.bowerrc'); 

module.exports.getBowerRC = function() { 
    return console.log(JSON.stringify(bowerRC)); 
} 

.bowerrc

{ 
    "directory": "./resources/bower_components/", 
    "analytics": false 
} 

Ok, quindi quello che voglio fare è in pratica tira dentro il valore di "directory" come globale in gulp. In questo modo gulp può usare automaticamente il valore per qualunque attività/plugin e mantiene i concetti di DRY senza rompere la shell bower stessa.

Il problema è, quando chiamo la funzione da un task che commette errori. La parte strana è se io cambio la variabile bowerRC per puntare su bower.json funziona bene per quel ... pensieri?

Per riferimento im utilizzando v0.12.0 nodo, sorso v3.9.0, gazebo v1.4.1

EDIT: esecuzione su windows7 64bit, scelta im paura

EDIT2: aggiornato al nodo 0.12.4 , nessun cambiamento credo che abbia qualcosa a che fare con il modo in cui i file sono necessari poiché anche se commento la funzione l'errore persiste.

console

+1

ho pensato parte di esso fuori, perché non ha .bowerrc nodo di estensione è la lettura come file js, invece di JSON è per questo che l'errore di parsing ... ora se potessi solo capire come farlo comportarsi ... –

risposta

5

capito, il codice modificato è simile al seguente:

"use strict"; 

var gulp = require('gulp'); 
var fs = require('fs'); 

module.exports.getBowerRC = function() 
{ 
    var bowerRC = JSON.parse(fs.readFileSync('./.bowerrc', 'utf8')); 
    return console.log(bowerRC); 
}