Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – OpenShift无法使用某些Nodejs依赖项(Koa)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经检查了 How to setup KoaJS in Openshift,它仍然无法正常工作.

这是我的package.json文件的一部分:

"ENGInes": {
    "node": ">= 0.12.0","npm": ">= 1.0.0"
  },"dependencies": {
    "co-busboy": "^1.3.0","forever": "^0.14.1","fs": "0.0.2","koa": "^0.18.1","koa-logger": "^1.2.2","koa-router": "^4.2.0","koa-static": "^1.4.9","path": "^0.11.14"
    },"devDependencies": {},"bundleDependencies": [],"private": true,"main": "--harmony app.js"

然后到我的app.js文件.

代码有效:

var http = require('http');
//var koa = require('koa');
//var app = koa();

var ip = process.env.oPENSHIFT_NODEJS_IP || '127.0.0.1',port = process.env.oPENSHIFT_NODEJS_PORT || '8080';

http.createServer(function (req,res) {
  res.writeHead(200,{'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(port,ip);
console.log('Server running at http://'+ip+':'+port+'/');

这不起作用:

var http = require('http');
var koa = require('koa');
var app = koa();

var ip = process.env.oPENSHIFT_NODEJS_IP || '127.0.0.1',ip);
console.log('Server running at http://'+ip+':'+port+'/');

你可以看到唯一的区别是我没有注释两行.

错误

service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Apache/2.2.15 (Red Hat) Server at fela-basickarl.rhcloud.com Port 80

OpenShift上的错误日志说明:

...
.../app-root/runtime/repo/node_modules/koa/lib/application.js:179
function *respond(next) {
         ^
SyntaxError: Unexpected token *
...

一个大笨蛋.

的console.log(process.versions);揭示我使用节点0.10.25,即使我在package.json中声明我希望使用> = 0.12.0:

{ http_parser: '2.0',node: '0.10.25',v8: '3.14.5.10',ares: '1.9.1',uv: '0.10.23',zlib: '1.2.3',modules: '11',openssl: '1.0.0-fips' }

是什么导致OpenShift不使用0.12.2?

解决方法

快速部署0.12

https://hub.openshift.com/quickstarts/128-node-js-0-12

对于那些与deplot nodejs 0.12相关的人来说,使用上面的链接,有一个按钮Deploy.

0.12.2

要部署特定版本0.12.2从https://github.com/ryanj/nodejs-custom-version-openshift复制目录.openshift并覆盖当前项目.openshift目录(我假设你使用的是OpenShifts git在创建应用程序时创建).

导航到你的项目/ .openshift / markers /并打开文件NODEJS_VERSION并在底部添加0.12.2.我的文件看起来如此:

#  Uncomment one of the version lines to SELEct the node version to use.
#  The last "non-blank" version line is the one picked up by the code in
#  .openshift/lib/utils
#  Default: 0.10.25
#
#  0.8.24
#  0.9.1
#  0.10.25
#  0.11.11
#  0.10.25
0.12.2

然后通过git将项目上传到OpenShift(位于项目根目录中).

git add -A .
git commit -a -m "replaced .openshift directory"
git push

– 和谐旗帜?

ECMAScript 6 features available in Node.js 0.12所述 – 某些功能仍需要和声标志.

这意味着你也将它添加你的package.json文件中,看看我的问题看一个例子.

大佬总结

以上是大佬教程为你收集整理的node.js – OpenShift无法使用某些Nodejs依赖项(Koa)全部内容,希望文章能够帮你解决node.js – OpenShift无法使用某些Nodejs依赖项(Koa)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。