Javascript Grunt/Docker文件路径

Javascript Grunt/Docker文件路径,javascript,node.js,docker,gruntjs,jsdoc,Javascript,Node.js,Docker,Gruntjs,Jsdoc,我正在运行Grunt,无法让docker(jsdocs)将其生成的文件放在外部文件夹中。不管我传递什么“dest”,它仍然将生成的html文件与javascript文件放在同一目录中 Grunt构建-v日志: Running "docker:build" (docker) task Verifying property docker.build exists in config...OK Files: C:/mysite/src/html/scripts/components/app-helpe

我正在运行Grunt,无法让docker(jsdocs)将其生成的文件放在外部文件夹中。不管我传递什么“dest”,它仍然将生成的html文件与javascript文件放在同一目录中

Grunt构建-v日志:

Running "docker:build" (docker) task
Verifying property docker.build exists in config...OK
Files: C:/mysite/src/html/scripts/components/app-helpers.js -> jsdocs/app-helpers.js
Files: C:/mysite/src/html/scripts/components/datatables-functions.js -> jsdocs/datatables-functions.js
Files: C:/mysite/src/html/scripts/components/highcharts-functions.js -> jsdocs/highcharts-functions.js
Files: C:/mysite/src/html/scripts/components/pagination.js -> jsdocs/pagination.js
Files: C:/mysite/src/html/scripts/components/resizer.js -> jsdocs/resizer.js
Files: C:/mysite/src/html/scripts/components/slideout.js -> jsdocs/slideout.js
Files: C:/mysite/src/html/scripts/components/tabs.js -> jsdocs/tabs.js
Files: C:/mysite/src/html/scripts/components/ui.js -> jsdocs/ui.js
Files: C:/mysite/src/html/scripts/components/widget.js -> jsdocs/widget.js
Files: C:/mysite/src/html/scripts/components/widgets/cards.js -> jsdocs/cards.js
Files: C:/mysite/src/html/scripts/components/widgets/figures.js -> jsdocs/figures.js
Files: C:/mysite/src/html/scripts/components/widgets/flip-card.js -> jsdocs/flip-card.js
Files: C:/mysite/src/html/scripts/components/widgets/list-view.js -> jsdocs/list-view.js
Files: C:/mysite/src/html/scripts/components/widgets/projects.js -> jsdocs/projects.js
Options: onlyUpdated=false, colourScheme="default", ignoreHidden=false, sidebarState, exclude=false, lineNums=false, js=[], css=[], extras=[]
Options: onlyUpdated=false, colourScheme="default", ignoreHidden=false, sidebarState, exclude=false, lineNums=false, js=[], css=[], extras=[]
Destination: jsdocs/app-helpers.js
Destination: jsdocs/datatables-functions.js
Destination: jsdocs/highcharts-functions.js
Destination: jsdocs/pagination.js
Destination: jsdocs/resizer.js
Destination: jsdocs/slideout.js
Destination: jsdocs/tabs.js
Destination: jsdocs/ui.js
Destination: jsdocs/widget.js
Destination: jsdocs/cards.js
Destination: jsdocs/figures.js
Destination: jsdocs/flip-card.js
Destination: jsdocs/list-view.js
Destination: jsdocs/projects.js
Generated: C:\mysite\src\html\scripts\components\app-helpers.js.html
Generated: C:\mysite\src\html\scripts\components\datatables-functions.js.html
Generated: C:\mysite\src\html\scripts\components\highcharts-functions.js.html
Generated: C:\mysite\src\html\scripts\components\pagination.js.html
Generated: C:\mysite\src\html\scripts\components\resizer.js.html
Generated: C:\mysite\src\html\scripts\components\slideout.js.html
Generated: C:\mysite\src\html\scripts\components\tabs.js.html
Generated: C:\mysite\src\html\scripts\components\ui.js.html
Generated: C:\mysite\src\html\scripts\components\widget.js.html
Generated: C:\mysite\src\html\scripts\components\widgets\cards.js.html
Generated: C:\mysite\src\html\scripts\components\widgets\figures.js.html
Generated: C:\mysite\src\html\scripts\components\widgets\flip-card.js.html
Generated: C:\mysite\src\html\scripts\components\widgets\list-view.js.html
Generated: C:\mysite\src\html\scripts\components\widgets\projects.js.html
Saved file tree to doc-filelist.js
Copied JS to doc-script.js
Copied default.css to doc-style.css
Done.
我的配置

docker: {
            build: {
                expand: true,
                flatten: true,
                cwd: String(global_scripts_folder).replace(/\\\\/g, "/").replace(/\\/g, "/"),
                src: ['components/**/*.js'],
                dest: 'jsdocs',
                options: {
                    //template : "node_modules/ink-docstrap/cosmo",
                    //configure : "node_modules/ink-docstrap/template/jsdoc.conf.json"
                }
            }
        },

根据命令行日志,听起来像是在windows框上运行grunt文件,因此使用了这个正则表达式

cwd:String(全局脚本文件夹)。替换(/\\\\/g,“/”)。替换(/\\\/g,“/”)

可能会让你伤心,因为;Windows目录路径基于正斜杠

这里的问题是,regexpr试图将所有的正向斜杠转换为反向斜杠,如果将这个Grunt文件从Windows移植到Linux环境中,这种转换将有效

Q:奇怪的是,它如何正确地打印所有目标路径,然后却没有将生成的文件放入其中

A:我认为Grunt的
-v
详细模式报告的内容是正确的。只是文件现在命名为
jsdocs/datatables functions.js
,而不仅仅是
datatables function.js
。不知何故,windows必须将其解释为完整的文件名


希望这有帮助。

您使用的是windows计算机。因此,我不确定这一行
cwd:String(全局脚本文件夹)。替换(/\\\\\\/g,“/”)。替换(/\\\/g,“/”)
。与Linux不同,我认为windows目录路径基于``正斜杠。尝试注释那个正则表达式,看看它是否正确,我在Windows机器上。我尝试删除正则表达式,得到了相同的结果。奇怪的是,它正确地打印了所有的目标路径,却没有将生成的文件放入其中。谢谢@user2094477回复我。我已将解决方案写出来作为答案,并试图回答您在评论中提出的问题。如果您可以单击答案旁边的
勾选
,将此标记为已回答,将不胜感激。这样我们就可以结束这一切了。谢谢。这是真的,我在一台Windows机器上。。。不是自愿的;)。我的整个gruntfile使用的正斜杠没有任何问题。删除替换函数不会影响此处的结果,并且正在保存的文件中没有“jsdocs/”。它们与添加到末尾的html扩展名同名,并被放置在js文件的旁边。但是,名为doc-filelist.js、doc-script.js和doc-style.css的文件被放置在正确的目录(jsdocs)中。