【问题标题】:Installing bower packages after running yeoman generator运行 yeoman 生成器后安装 bower 包
【发布时间】:2014-06-27 15:02:23
【问题描述】:

我无法让它工作,甚至通过谷歌找到解决方案以使其工作。

去 Bowers 网站显示他们有一个编程 API,看起来我应该能够在节点中运行它,当然我可以,但是它不服从我的 .bowerrc 文件并将它们安装到我由 yeoman 创建的 dev 文件夹中。

这与约曼的工作方式有关吗?在记录 done() 之前,文件和目录是否还不完全可用?

这是我的 index.js

'use strict';
var util = require('util');
var path = require('path');
var yeoman = require('yeoman-generator');
var chalk = require('chalk');
var bower = require('bower');


var FoprojectGenerator = yeoman.generators.Base.extend({
  sayHello: function(){
    console.log(this.yeoman);
  },
  scaffoldFolders: function(){
    this.mkdir("working");
    this.mkdir("working/assets");
    this.mkdir("working/assets/sass");
    this.mkdir("working/assets/coffee");
    this.mkdir('dev');
  },
  copyMainFiles: function(){
    this.copy("_index.html", "working/index.html");
    this.copy("_gruntfile.js", "Gruntfile.js");
    this.copy("_package.json", "package.json");
    this.copy("_bower.json", "bower.json");
    this.copy("_.bowerrc", ".bowerrc");
    this.copy("assets/sass/_site.sass", "working/assets/sass/site.sass");
    this.copy("assets/sass/_mixins.sass", "working/assets/sass/_mixins.sass");
    this.copy("assets/sass/_normalize.sass", "working/assets/sass/_normalize.sass");
    this.copy("assets/coffee/_scripts.coffee", "working/assets/coffee/scripts.coffee");
  },
  installDependencies: function(){
    var done = this.async();
    console.log("\nInstalling Node Dependencies\n");
    this.npmInstall("", function(){
      console.log("\nInstalling Bower Packages\n");
      bower.commands
      .install()
      .on('end', function(){
        done();
      });
    });
  }
});

module.exports = FoprojectGenerator;

就像我说的,它运行得很好,但它安装在 bower.json 旁边,就像我在 .bowerrc 文件中定义的那样,安装在 dev 文件夹中

{
  "directory": "dev/bower_components"
}

当我在 yeoman 完成后运行 bower install 时,它会将 bower_components 文件夹安装到 dev 文件夹中。

任何指导将不胜感激!

【问题讨论】:

  • 我浏览了一些东西,但看不到明确的答案,但我怀疑您需要阅读 .bowerrc 文件并将目录作为选项传递给 bower.commands。安装调用。祝你好运

标签: node.js dependencies yeoman bower yeoman-generator


【解决方案1】:

也许您使用的 Yeoman 生成器可能会强制您在特定路径上安装 deps。

打开终端并转到应用的根目录。 输入ls -la。 如果您看到.yo-rc.json,请输入cat .yo-rc.json

它是否显示如下路径的任何特定配置?

{
  "generator-backbone-laser": {
    "appPath": "app"
  }
}

如果是这样,删除.yo-rc.json。 Yoeman 生成器的创建者有时会在该文件上设置应用路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    相关资源
    最近更新 更多