使用gulp connect时,Bower组件为root

时间:2015-09-25 02:33:29

标签: javascript angularjs gulp bower gulp-connect

所以我的根目录结构包含

app/
bower_components/
node_modules
..bowercc
gulpfile.js
....etc.....
app下的

是"

等其他文件夹
/css/
/js/
/assets/
index.html
/view/

所以我的问题是一个非常简单的gulp文件。我的凉亭组件不会加载,因此Angular永远不会附加。我的.bowercc看起来像:

{
  "directory": "bower_components"
}

我的gulpfile.js看起来像:

//吞 var gulp = require(' gulp');

//插件 var connect = require(' gulp-connect');

gulp.task('connect', function () {
    connect.server({
        root: [__dirname],
        port: 8888
    });
});

我正在使用gulp connect插件并根据我的理解,因为我的bower_components位于根目录而不是' / app'文件夹,我可以简单地使用[dirname],但这会破坏事情。如果我将root选项留空,则不会加载任何依赖项,我会获得404 for bootstrap,font-awesome等...我依赖于bower。

当然有些人了解如何解决这个问题?我不想求助于使用Require,因为我只想让它按照我的结构目前的方式工作。我能在这做什么?

非常感谢。

1 个答案:

答案 0 :(得分:9)

尝试以下

connect.server({
    root: ['app'],
    port: 3000,
    livereload: true,
    middleware: function(connect) {
        return [connect().use('/bower_components', connect.static('bower_components'))];
    }
});