我觉得我在这里错过了一些愚蠢的东西,有人可以向我解释为什么我不能将.bowerrc插入吞没吗?文件结构和过程应该非常简单:

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
}

好的,所以我想做的基本上是将“目录”的值作为gulp中的全局值拉入。这样,gulp可以自动将值用于任何任务/插件,并保持DRY概念,而不会破坏Bower Shell本身。

问题是,当我从任务中调用函数时会出错。奇怪的是,如果我将变量bowerRC切换为指向bower.json,则可以正常运行...想法?

供引用im使用node v0.12.0,gulp v3.9.0,bower v1.4.1

编辑:在Windows7 64位上运行它,别无选择,我很害怕

EDIT2:更新到 Node 0.12.4,没有更改,我相信它与文件的需要方式有关,因为即使我注释掉函数,错误仍然存​​在。

最佳答案

弄清楚了,更改后的代码如下所示:

"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);
}

10-07 21:12