Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Javascript Grunt.js和文件夹迭代+;每个文件夹的选项_Javascript_Gruntjs - Fatal编程技术网

Javascript Grunt.js和文件夹迭代+;每个文件夹的选项

Javascript Grunt.js和文件夹迭代+;每个文件夹的选项,javascript,gruntjs,Javascript,Gruntjs,我正在寻找使用grunt构建任务时是否可能使用我的文件夹结构来构建数据 我想建立一个文件夹结构的网站 例如,我有: - data -- folder_n --- options.json --- webpagetext.txt --- additional.html 等等 然后在文件夹结构中生成我的网页(folder\u n/{variable\u as\u friendly\u url}.html) 可以用咕噜吗?我阅读了大部分文档,但没有发现这是否可行 编辑:我如何在PHP中看到它 <

我正在寻找使用grunt构建任务时是否可能使用我的文件夹结构来构建数据

我想建立一个文件夹结构的网站

例如,我有:

- data
-- folder_n
--- options.json
--- webpagetext.txt
--- additional.html
等等

然后在文件夹结构中生成我的网页(
folder\u n/{variable\u as\u friendly\u url}.html

可以用咕噜吗?我阅读了大部分文档,但没有发现这是否可行

编辑:我如何在PHP中看到它

<?php
/*
    Basic project structure

    templates/
    - template_1.php
    - template_2.php
    - template_3.php
    datafeed/
    - subpage_1/
    -- header_image.png
    -- webpagetext.txt
    -- options.json
    - subpage_2/
    -- header_image.png
    -- webpagetext.txt
    -- options.json
    - subpage_3/
    -- header_image.png
    -- webpagetext.txt
    -- options.json
    - subpage_n/
    -- header_image.png
    -- webpagetext.txt
    -- options.json

*/

// IN PHP it would look like.

foreach (glob('datafeed/*') as $dir){
    foreach(glob('templates/*') as $tpl){
        constructpage($dir, $tpl);
    }
}

function constructpage($dir, $tpl) {
    $options = json_decode($dir.'options.json');
    $output_html_file_name = 'output/'.basename($dir) . '/' . basename($dir) . '.html';
    /*
        Logic that would copy, assign vars etc for template in $tpl.
    */

}

您需要的是一个生成器/子生成器


它是什么:

根据,generator基本上是一个插件,可以使用
yo
命令运行它来构建完整的项目或有用的部分


它能做什么

您可以从命令行运行Yeoman命令;Yeoman能够对其创建的代码进行压缩,并根据您提供的参数或文件中的参数进行调整


文件

有关约曼脚手架的更多信息:


为了(更)自动化

此外,尽管我仍然对您真正想要实现的目标只有部分了解,但您可能希望在存在某个文件目录时,使用Grunt watch(如下所示)触发Yeoman创建文件:

watch: {
  scripts: {
    files: ['**/*.file-directory-to-detect'],
    tasks: ['myCustomYeomanScript'],
  },
}
就像这样:


}))

尝试理解:您想要创建一个网站样板,使用Gruntjs快速自动创建新网站?更像是从文件中的数据为网站创建现成的文章(子页面)。例如:一个文件夹是一篇文章。它可以使用3个模板中的一个,这些模板通过选项进行解析。没有PHP的PHP。希望已生成要服务的“缓存”文件。我不确定你是否明白我的意思。我想你需要的是约曼子代你好,谢谢你的回答。我更新了用PHP制作脚本原型工作流的问题。也许这有助于理解我。不知道约曼是否支持这个。据我所知,Yeoman旨在为大型网站创建现成的代码。不小的子页面。另外,它完全不会使用javascript,css将是内联的(这很奇怪,但我知道我在做什么:)。同时,我还在深入研究yeoman文档。是的,yeoman可以构建任何东西,无论大小,也可以构建任何文件类型,无论语言如何。100%可配置,欢迎光临。我知道约曼可能看起来很复杂,或者没有足够的记录;但是只需按照教程进行操作,观察创建了哪些文件,如何构造模型模板,您将很快能够根据自己的喜好定制脚手架:您可以轻松地创建PHP文件;后记:不属于约曼,但我喜欢工具嘿,我喜欢。最后我自己写剧本。发现
Yo
对于我想做的事情来说有点太高级了。但答案是好的。。。但我不知道我该如何选择最好的答案。。。更好的(你的),或者最能解决我问题的(我的)。生活有时会很艰难:)
grunt.initConfig({
shell: {
    myCustomYeomanScript: {
        command: 'yo createMyFiles'
    }
}