Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 运行yeoman发电机后安装bower机组_Node.js_Dependencies_Yeoman_Bower_Yeoman Generator - Fatal编程技术网

Node.js 运行yeoman发电机后安装bower机组

Node.js 运行yeoman发电机后安装bower机组,node.js,dependencies,yeoman,bower,yeoman-generator,Node.js,Dependencies,Yeoman,Bower,Yeoman Generator,我很难做到这一点,甚至无法通过谷歌找到解决方案,让它发挥作用 前往Bowers网站,可以看到他们有一个编程API,看起来我应该可以在node中运行它,当然我可以,但是它没有遵守我的.bowerrc文件,并将它们安装到由yeoman创建的dev文件夹中 这与约曼的工作方式有关吗?文件和目录是否在日志记录完成()后才完全可用 这是我的index.js 'use strict'; var util = require('util'); var path = require('path'); var y

我很难做到这一点,甚至无法通过谷歌找到解决方案,让它发挥作用

前往Bowers网站,可以看到他们有一个编程API,看起来我应该可以在node中运行它,当然我可以,但是它没有遵守我的.bowerrc文件,并将它们安装到由yeoman创建的dev文件夹中

这与约曼的工作方式有关吗?文件和目录是否在日志记录完成()后才完全可用

这是我的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;
就像我说的,它运行得很好,但是它会将它安装在dev文件夹中的bower.json旁边,就像我在.bowerrc文件中定义的那样

{
  "directory": "dev/bower_components"
}
当我在yeoman完成后运行
bower install
时,它会像应该的那样在dev文件夹中安装bower\u components文件夹


任何指导都将不胜感激

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

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

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

{
  "generator-backbone-laser": {
    "appPath": "app"
  }
}
如果是,请删除
.yo rc.json

Yoeman生成器的创建者有时会在该文件上设置应用程序路径。

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