使用gulp connect时,Bower组件为root

Mar*_*ark 2 javascript angularjs bower gulp gulp-connect

所以我的根目录结构包含

app/
bower_components/
node_modules
..bowercc
gulpfile.js
....etc.....
Run Code Online (Sandbox Code Playgroud)

在app下是其他文件夹,如"

/css/
/js/
/assets/
index.html
/view/
Run Code Online (Sandbox Code Playgroud)

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

{
  "directory": "bower_components"
}
Run Code Online (Sandbox Code Playgroud)

我的gulpfile.js看起来像:

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

// plugins var connect = require('gulp-connect');

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

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

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

非常感谢.

ras*_*had 9

试试以下

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