gpt4 book ai didi

javascript - Grunt 任务不会执行 Require 引用的 Node 代码中的模块

转载 作者:行者123 更新时间:2023-12-03 12:18:24 26 4
gpt4 key购买 nike

我有以下繁重任务:

    module.exports = function(grunt) {
var info = 'Syncs, updates English translations and downloads Chinese translations.';

grunt.registerTask('translations', info, function() {
require('../../node/poeditor');
});
};

我希望 require 执行该 Node 模块中的代码,其布局如下:

var querystring = require('querystring'),
fs = require('fs'),
https = require('https');

// Sync Terms
console.log('Syncing Terms...');
var requestConfig = {
options: {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': 0
},
host: 'poeditor.com',
method: 'POST',
path: '/api/',
port: '443'
},
data: {
api_token: API_KEY,
action: 'sync_terms',
id: PROJECT_ID,
data: ''
}
};

fs.readFile('public/js/languages/en.json', 'utf8', function(error, data) { console.log(data);
});

问题是上面引用的模块根本没有被执行,我错过了什么?在 Grunt 中或者当需要一个需要其他模块执行代码的模块时,我需要做一些特殊的事情吗?

最佳答案

我明白了。我正在执行异步操作,因此我改为这样调用我的任务:

grunt.registerTask('translations', info, function() {
require('../../node/poeditor')(this);
});

通过模块传递该范围:

module.exports = function(grunt) {...

然后像这样分配完成:

var done = grunt.async();

在我最后一个异步回调中,像这样调用:

done();

所以基本上我必须遵循这个: http://gruntjs.com/creating-tasks#why-doesn-t-my-asynchronous-task-complete

关于javascript - Grunt 任务不会执行 Require 引用的 Node 代码中的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24564525/

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