gpt4 book ai didi

javascript - 如何在别名任务中设置配置数据

转载 作者:行者123 更新时间:2023-11-28 08:35:52 27 4
gpt4 key购买 nike

对我所犯的错误感到抱歉,我不是英国人。

我无法理解为什么我的代码不能正常工作(我不擅长 JS)。我想根据我通过 cli 传递的参数手动设置项目文件夹。嗯..这是我的行动:

$ grunt --project=default

我从 Gruntfile.js 中摘录的内容:

grunt.initConfig({
...
sass: {
main: {
options: {
style: 'nested',
},
files: [{
expand: true,
cwd: '<%= path %>',
src: ['*.scss'],
dest: '<%= path %>',
ext: '.css'
}]
}
},

watch: {
sass: {
files: '<%= path %>/**/*.scss',
tasks: ['sass'],
options: {
livereload: true,
},
},
},

...
});

grunt.registerTask('default','', function() {
// Get project name
var project = grunt.option('project') || 'default';
....
if (project == 'default') {
grunt.config.set('path', '../server/www/webapp.com/css');
}
...
if (project && development && !production) {
grunt.task.run('watch:sass');
}
}

任务运行,一切似乎都正常,例如,当我更改上面设置的项目文件夹中的 *.scss 文件时,watch 任务确实正确检测到更改,但是 sass 任务没有输出(。但是,当我在 grunt.initConfg({}); 中添加 path 键时,一切正常。

有人可以帮我吗?

最佳答案

复制我在 https://github.com/gruntjs/grunt/issues/1032 上给出的相同答案...

这是因为默认情况下,监视任务会在子进程中生成任务。因此,您对 grunt.config.set 的调用仅修改当前进程中的配置对象,而不是子进程。要禁用 watch 生成任务,请使用 spawn: false 选项。

watch: {
sass: {
options: { spawn: false },
files: '<%= path %>/**/*.scss', // perfect!
tasks: ['sass'],
},
},

关于javascript - 如何在别名任务中设置配置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21204562/

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