我无法让这个工作,甚至通过谷歌找到解决方案如何让它工作。
去Bowers网站显示他们有一个程序化的API,看起来我应该可以在节点中运行它,当然我可以不遵守我的.bowerrc文件并将它们安装到我自己创建的dev文件夹中。< / p>
这与自耕农的工作方式有关吗?文件和目录是否在完成记录()之后仍然不可用?
这是我的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
时,它会在dev文件夹中安装bower_components文件夹,就像它应该的那样。
非常感谢任何指导!
答案 0 :(得分:0)
也许您使用的Yeoman生成器可能会强制您在特定于certian的路径上安装deps。
打开终端并转到应用的根目录。
输入ls -la
。
如果您看到.yo-rc.json
,请输入cat .yo-rc.json
。
它是否显示如下路径的任何特定配置?
{
"generator-backbone-laser": {
"appPath": "app"
}
}
如果是,请删除.yo-rc.json
。
Yoeman生成器的创建者有时会在该文件上设置应用程序路径。