我以这种方式构建自定义OpenLayers:
node tasks/build.js config/ol.json build/ol-full.js
并收到错误:“生成信息麻烦:预期的JSON输出”。 我发现 generate-info.js 中出现此错误,该错误是从 build.js 调用的。它在单独的线程中运行jsdoc(使用默认模板)并期望它将以json格式返回一些数据到stdout,但jsdoc退出而不返回任何数据。以下是来自 generate-info.js 的代码:
var child = spawn(jsdoc, ['-c', jsdocConfig].concat(paths), {cwd: cwd});
child.stdout.on('data', function(data) {
output += String(data); // this wasn't called!
});
child.stderr.on('data', function(data) {
errors += String(data);
});
child.on('exit', function(code) {
//some code
if (!output) {
throw new Error('Expected JSON output');
}
});
进一步的代码显示 generate-info.js 期望从jsdoc获得一个具有属性'symbols'和'definitions'的对象,它应该是数组。我记录了参数并从具有相同参数的控制台独立运行jsdoc并且它什么也没有返回。我查看了对输出的响应的默认jsdoc模板( templates / default / publish.js ),并且没有看到任何返回数据的可能性,所以我不知道 generate- info.js 期待以及它如何运作。其他模板返回一些东西,但不返回具有属性'symbols'和'definitions'的对象。请帮助我如何构建自定义OpenLayers
Windows:8.1
OpenLayers:4.3.4
node.js:8.6.0
jsdoc:3.5.5