1

我正在尝试使用wiredep将bower文件注入我的jade/html。这个问题是双重的。

  1. 如果我将 bower_component 保留在根文件夹中。由于我的服务器是从 ./dist 而不是从 root 设置的,因此我无法访问 bower_compoents
  2. 如果我要在我的 ./dist 文件夹中安装 bower-components(这很有意义,到目前为止),并为 bower_components 创建一个唯一的文件路径,我的 bower.json(它也需要它来获取正确的文件路径),那么它将额外的文件路径 ./dist 添加到我的 bower_components。但是,由于我的服务器位于 ./dist 中,因此我需要从文件路径中删除 ./dist。

我将为选项#2回答这个问题。我只是想把它放在那里,以供其他想做相同或类似事情的人使用。

将来我确实想将 bower_components 保留在我的根目录中,以便将它们全部编译到一个 js 文件中。目前这可行,因为它主要是出于原型设计的原因。但是,绝对有兴趣找到一种方法来使#1 工作。

4

1 回答 1

1

我在这里为那些有兴趣查看文件结构和完整 gulpfile.js 的人在 github 中建立了一个分支

我最终做的是在我的 dist 文件夹中安装所有 bower_components。我也把我的 bower.json 放在那里。

对于wiredep 和jade 魔法,我在gulpfile.js 中添加了以下内容:

gulp.task('templates', function() {

  var YOUR_LOCALS = {};

  gulp.src('./app/jade/*.jade')
      .pipe(jade({
          locals: YOUR_LOCALS,
          pretty: true
      }))
      .pipe(wiredep({
      directory: './dist/bower_components',
      bowerJson: require('./dist/bower.json'),
      ignorePath: '/dist'
      }))
      .pipe(gulp.dest('./dist'))
});

魔法发生在一个真实的地方,那就是wiredep 的ignorePath 选项。我可以从 dist 文件夹中获得目录。但是,由于文件路径包含 ./dist,并且我的服务器无法使用 ./dist,因此我能够忽略 ./dist 并输出正确的文件路径。

另请注意,为了包含,让我们说 bower for jam 中的 javascript 文件,使用以下语法

// bower:js
// endbower

就是这样,如果这只帮助了那里的一个人,那是值得的。如果您有任何问题,请随时发表评论。

于 2015-06-18T17:36:38.637 回答