【问题标题】:Gulp / Bower - maintaining consistencyGulp / Bower - 保持一致性
【发布时间】:2015-06-08 10:05:38
【问题描述】:

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

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 可以自动将值用于任何任务/插件,并且在不破坏 bower shell 本身的情况下保持 DRY 概念。

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

使用节点 v0.12.0、gulp v3.9.0、bower v1.4.1 供参考

编辑:在 windows7 64bit 上运行,恐怕别无选择

EDIT2:更新到节点 0.12.4,没有任何变化,我认为这与文件的需求方式有关,因为即使我注释掉该函数,错误仍然存​​在。

【问题讨论】:

  • 我想出了一部分,因为 .bowerrc 没有扩展节点正在将它作为 .js 文件而不是 JSON 读取,这就是解析错误的原因......现在如果我能弄清楚如何让它表现...

标签: node.js gulp bower


【解决方案1】:

想通了,修改后的代码如下:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多