【发布时间】: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