我觉得我在这里错过了一些愚蠢的东西,有人可以向我解释为什么我不能将.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);
}