Yeoman-复制目录
Yeoman - Copy directories
我刚刚开始使用令人惊叹的yeoman.io生成器。一切都很顺利,直到我试图把所有的董事都解雇。不知怎么的,this.directory、this.bulkDirectory等都不起作用。我没有收到任何错误,没有任何副本(而这个.bulkCopy确实有效,并给出了成功的消息)。
在copyMainFiles函数中,我实际上想将包含文件的完整目录复制到指定的位置。我真的不期待手动复制每个文件。
简而言之:this.directory、this.bulkDirectory和this.copy不起作用。this.bulkCopy正在工作
这是de index.js(已剥离),我希望有人知道出了什么问题。约曼版本:1.4.6
'use strict';
var util = require('util');
var path = require('path');
var yeoman = require('yeoman-generator');
var chalk = require('chalk');
var NulvijftigGenerator = yeoman.generators.Base.extend({
promptUser: function() {
var done = this.async();
// have Yeoman greet the user
console.log('asasd');
var prompts = [{
name: 'appName',
message: 'Blablabla'
}];
this.prompt(prompts, function (props) {
this.appName = props.appName;
this.folderName = props.folderName;
this.templateType = props.templateType;
this.plugins = props.plugins;
/* this.addDemoSection = props.addDemoSection; */
done();
}.bind(this));
},
scaffoldFolders: function(){
// if the user selected basic webshop, create the required folders
if(this.templateType == "extrawebshop"){
// main folder (frontend value in configuration)
this.mkdir(this.folderName);
this.mkdir(this.folderName + "/account");
}
if(this.templateType == "basicwebsite"){
// main folder (frontend value in configuration)
this.mkdir(this.folderName);
}
},
copyMainFiles: function(){
// if the user selected basic webshop, copy the required files
if(this.templateType == "basicwebsite"){
this.directory("basicwebsite", this.folderName);
}
var context = {
site_name: this.appName
};
//this.template("_header.html", "app/header.html", context);
},
runNpm: function(){
var done = this.async();
this.npmInstall("", function(){
console.log("'nEverything Setup !!!'n");
done();
});
}
});
module.exports = NulvijftigGenerator;
我不太确定为什么你的配置不起作用,但简单地说,有几件事需要考虑:
- CCD_ 1实际工作
- 它将源路径和目标路径作为前两个参数,并且
- 两条路径分别相对于CCD_ 2和CCD_
所以,如果你有像这样的文件夹结构
..
templates
src
sass
jsx
dist
css
js
html
然后是简单的
writing: {
app: function() {
this.directory('src', 'src');
this.directory('dist', 'dist');
}
}
应该起作用。
但是!
如果目录的完整递归路径中至少有一个文件,则仅递归复制该目录。另一方面,我不确定是否有必要复制空文件夹结构(并且不会使事情过于复杂)。
在您的项目中,您有一个Gruntfile.js
。
在此文件中,您有一些复制任务。你可以根据自己的需要改变它。
例如,我在项目中添加了一个用于复制语言文件的自定义任务:
copy: {
dist: {
files: [{
expand: true,
cwd: 'app/assets/lang/',
src: ['**'],
dest: '<%= config.dist %>/assets/lang/'
}
----more code----
编辑:看完你的评论,也许我不理解你的问题。
转到yeoman项目中的grunt脚本,在那里查找css和js文件夹路径。在那里添加您想要复制的自定义文件夹。
相关文章:
- 使用Clipboard.js复制span文本
- ZeroClipboard-在复制之前添加到值
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 复制图像路径以单击它
- 复制当前url按钮-Javascript
- 具有所有样式的文本正在复制到可编辑文本区域
- JavaScript”;复制“;HTML表单
- jsPlumb-拖动克隆而不进行复制
- 如何将给定的curl命令复制为jquery ajax请求
- 如何对映射插件创建的敲除对象进行深度复制
- 使用append时复制内容的DOM
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 需要将单元格值复制到html表中的其他单元格中
- jQuery表单克隆,如何阻止值被复制
- 在Javascript中复制C#服务器端验证
- 将文件从应用程序文件夹复制到JQM/Phonegap应用程序中的根文件夹
- 使用Emscripten Worker API传输数据而不进行复制
- Yeoman-复制目录
- yeoman生成器:复制或模板dos'不能在异步回调内部工作
- 使用Yeoman生成器复制文件不工作