javascript – syntaxhighlighter – 构建:loadReposFromCache(…).error不是一个函数

前端之家收集整理的这篇文章主要介绍了javascript – syntaxhighlighter – 构建:loadReposFromCache(…).error不是一个函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用插件SyntaxHighlighter v4,但我无法让构建过程正常工作!

按照说明here,我收到以下错误

  1. $./node_modules/gulp/bin/gulp.js setup-project
  2. [10:12:20] Requiring external module babel-register
  3. [10:12:20] Using gulpfile C:\git\SyntaxHighlighter\gulpfile.babel.js
  4. [10:12:20] Starting 'setup-project:clone-repos'...
  5. [10:12:20] 'setup-project:clone-repos' errored after 1.96 ms
  6. [10:12:20] TypeError: loadReposFromCache(...).error is not a function
  7. at loadRepos (C:/git/SyntaxHighlighter/build/setup-project.js:39:48)
  8. at Gulp.

似乎没有将github存储库文件导入/ repos /目录.我能以某种方式手动完成此操作吗?是否有另一种方法来构建这样我可以使用它?甚至可以找到像v3一样的内置文件?

这是build / setup-project.js中失败的函数

  1. gulp.task('setup-project:clone-repos','Clones all repositories from
  2. SyntaxHighlighter GitHub organization',() =>
  3. loadRepos()
  4. .then(R.filter(repo => !fs.existsSync(pathToRepo(repo))))
  5. .then(R.filter(repo => repo.name !== 'syntaxhighlighter'))
  6. .then(R.map(R.curry(cloneRepo)))
  7. .then(Promise.all)
  8. );

向后追溯我们看到:

  1. const loadReposFromCache = () => fs.readFile.promise(REPOS_CACHE,'utf8').then(JSON.parse);
  2. const loadRepos = () => loadReposFromCache().error(loadReposFromGitHub).then(R.map(R.pick(['clone_url','name'])));
  3. function loadReposFromGitHub() {
  4. const request = require('request');
  5. const opts = {
  6. url: 'https://api.github.com/orgs/syntaxhighlighter/repos?per_page=300',json: true,headers: { 'User-Agent': 'node.js' },};
  7. return new Promise((resolve,reject) =>
  8. request(opts,(err,response) => {
  9. if (err) return reject(err);
  10. const json = response.body;
  11. fs.writeFile(REPOS_CACHE,JSON.stringify(json,null,2));
  12. resolve(json);
  13. })
  14. );
  15. }
最佳答案
该项目的构建代码中存在一些问题.

对于这里的具体问题,Bluebird承诺上的Songbird包装似乎不再匹配 – 因此“.error不是一个函数”(在鸣鸟上,但在蓝鸟上可以).

所以用.catch替换.error或用require替换require(‘songbird’)(‘bluebird’)

在任何一种情况下,这只是你构建困境的开始……

无论如何,我已将此添加到项目的问题跟踪中,但这是我为了使它成为buiid所做的:
https://github.com/karljacuncha/syntaxhighlighter/commit/dc015fa299d4d249e8518664e205a838c55372cf

猜你在找的JavaScript相关文章