解析服务器迁移到IBM bluemix

编程入门 行业动态 更新时间:2024-10-26 01:20:53
本文介绍了解析服务器迁移到IBM bluemix的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图在ibm bluemix中使用nodejs运行解析服务器,但是在解析服务器PromiseRouter文件中抛出错误.

I am trying to run parse server with nodejs in ibm bluemix but it is throwing an error in parse server PromiseRouter file.

PromiseRouter.js:48 throw _iteratorError; ^ ReferenceError: Symbol is not defined

我该如何解决

我的App .js

var express = require('express'); var ParseServer = require('parse-server').ParseServer; var app = express(); var port = process.env.PORT || 1337; // Specify the connection string for your mongodb database // and the location to your Parse cloud code var api = new ParseServer({ databaseURI: 'mongodb://IBM_MONGO_DB', cloud: './cloud/main.js', // Provide an absolute path appId: 'MYAPPID', masterKey: 'MYMASTER_KEY', //Add your master key here. Keep it secret! serverURL: 'localhost:' + port + '/parse' // Don't forget to change to https if needed }); app.use('/parse', api); app.get('/', function(req, res) { res.status(200).send('Express is running here.'); }); app.listen(port, function() { console.log('parse-server-example running on port ' + port + '.'); });

响应:

/Applications/MAMP/htdocs/IBM_bluemix/Development/my_node_app/node_modules/parse-server/lib/PromiseRouter.js:48 throw _iteratorError; ^ ReferenceError: Symbol is not defined at PromiseRouter.merge (/Applications/MAMP/htdocs/IBM_bluemix/Development/my_node_app/node_modules/parse-server/lib/PromiseRouter.js:33:40) at new ParseServer (/Applications/MAMP/htdocs/IBM_bluemix/Development/my_node_app/node_modules/parse-server/lib/index.js:137:10) at Object.<anonymous> (/Applications/MAMP/htdocs/IBM_bluemix/Development/my_node_app/app.js:10:11) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3

这是PromiseRouter.js中的函数,会引发错误

This is the function in PromiseRouter.js that is throwing an error

PromiseRouter.prototype.merge = function (router) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = router.routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var route = _step.value; this.routes.push(route); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } };

这就是我所有的

推荐答案

未找到Symbol的原因是因为它是 ES6功能.检查并确保您的Node.js运行时至少为v4(在此处查看兼容性)

The reason why Symbol is not found is because it is an ES6 feature that is not supported in your current Node.js build. Check to make sure your Node.js runtime is at least v4 (see compatibility here).

确保在Bluemix上构建的Node.js至少运行v4.0的简单方法是在应用程序的package.json文件中定义engine变量,如下所示:

The easy way to ensure your Node.js build on Bluemix is running at least v4.0 is to define your engine variable in your app's package.json file as such:

{ "engines" : { "node" : ">=4.0" } }

更新您的package.json文件之后,将您的应用程序重新推送到Bluemix,它将使用您定义的Node.js版本进行构建

After updating your package.json file, re-push your application to Bluemix and it will build it with your defined version of Node.js

更多推荐

解析服务器迁移到IBM bluemix

本文发布于:2023-11-28 12:54:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1642486.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务器   IBM   bluemix

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!