gpt4 book ai didi

windows - Grunt/Batch : how to execute shell commands within the gruntfile. js目录?

转载 作者:可可西里 更新时间:2023-11-01 10:05:27 25 4
gpt4 key购买 nike

我知道这是一个常见问题,但我尝试过的所有答案均无效。奇怪的是,一位 friend 在他的 Windows 上尝试了这个脚本,实际上得到了当前目录(包含 gruntfile.js 的目录)。我试图查看差异,但也没有发现任何差异。

module.exports = function(grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

shell: {
test: {
command: 'dir'
}
}
});

grunt.loadNpmTasks('grunt-shell');
};

这是我得到的:

D:\Websites\AUB>grunt shell:test
Running "shell:test" (shell) task
Volume in drive D is Data
Volume Serial Number is 6E7B-40AB

Directory of D:\Websites

04/22/2015 04:53 PM <DIR> .
04/22/2015 04:53 PM <DIR> ..
04/20/2015 11:04 AM <DIR> .sublime
03/30/2015 12:52 PM <DIR> .template
04/24/2015 07:55 AM <DIR> AUB

我尝试使用 this post 中的技巧但它没有用(我留在网站目录中):

command: 'set WORKING_DIRECTORY=%cd% && dir'

我还尝试通过 "Get directory containing the currently executed batch script" 找到有用的东西,但我不知道如何使用它,因为我遇到了错误:

command: 'cd %~dp0 && dir'

返回:

D:\Websites\AUB>grunt shell:test
Running "shell:test" (shell) task
The system cannot find the path specified.
Warning: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "cd %~dp0 && dir"
The system cannot find the path specified.
Use --force to continue.

Aborted due to warnings.

作为旁注,我直接使用 Grunt 的任何其他包(清理、复制、重命名、uglify 等)工作正常并且 grunt-exec 具有相同的行为。

最佳答案

这听起来很奇怪,因为通常所有插件都与您的 Gruntfile 相关:

http://gruntjs.com/api/grunt.file

Note: all file paths are relative to the Gruntfile unless the current working directory is changed with grunt.file.setBase or the --base command-line option.

您可以手动检索当前工作:

var cwd process.cwd()

// Or to get a file inside the cwd

var pathOfGruntfile = require('path').resolve('./Gruntfile.js');

并在你的 Gruntfile 中使用它:

module.exports = function(grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
cwd: process.cwd(),

shell: {
test: {
command: 'cd "<%= cwd %>";dir'
}
}
});

grunt.loadNpmTasks('grunt-shell');
};

关于windows - Grunt/Batch : how to execute shell commands within the gruntfile. js目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29840070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com