Tag: node.js

windows nt错误和节点js代码中的elifecycle错误

我正在尝试解决一些我的朋友写的代码的问题。 他不能回答我的问题,所以我问你,如果我按下程序中的特定button,服务器将崩溃。 这是我得到的npmdebugging日志: `0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Programme\\nodejs\\\\node.exe', 1 verbose cli 'C:\\Programme\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'start' ] 2 info using npm@2.11.3 3 info using node@v0.12.7 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info prestart KTB@0.0.0 6 info start KTB@0.0.0 7 verbose unsafe-perm in lifecycle […]

从Node和Express后端将file upload到S3

我正在关注如何将图像file upload到S3存储桶的教程 。 但是,在指定的S3存储桶中不会显示文件。 如教程中所述,我发送一个“putobject”请求来获取“签名url”作为响应。 s3bucket.getSignedUrl('putObject', s3_params, function(err, data){ // Error… else{ var return_data = { requestUrl: data }; res.json( generalResponse( return_data )); } 然后,我将return_datavariables传递给XMLHttpRequest的一个实例来发出put请求。 xhr.open("PUT", signed_request); Express和S3中的CORSconfiguration如下所示: performance: app.use(function(req, res, next){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); S3桶: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration> 没有语法错误或服务器错误出现在nodemanshell或控制台。 我在想,必须有一些configuration问题,阻止文件从客户端上传到S3。 […]

电子Firebase:FIREBASE警告:提供的身份validation凭据无效

我已经创build了使用Firebase身份validation和数据库的electron应用程序。 应用程序使用signInWithCustomToken和来自远程服务器的令牌。 在我的工作机器上(macOS)它按预期工作。 但是,当我克隆我的回购家用机器(Windows),我收到 FIREBASE WARNING: Provided authentication credentials are invalid. This usually indicates your FirebaseApp instance was not initialized correctly. Make sure your apiKey and databaseURL match the values provided for your app at https://console.firebase.google.com/ 正如我在这里发现与firebase-admin相同的问题错误。 但是我正在使用客户端库。 另外我误解了它如何依赖于它运行的机器? 我使用与webpack打包在一起的npm包webpack firebase 4.1.5到客户端脚本中 初始化: const firebaseConf = { apiKey: '<api_key>', authDomain: '<domain>.firebaseapp.com', databaseURL: 'https://<database>.firebaseio.com', projectId: '<project_id>', […]

在更新Node.js和Socket.io之后,Socket.io的连接现在经常断开连接

我的服务已经更新到Node.js v6.9.4,现在Socket.io的连接频繁断开。 它没有在开发环境中复制,并决定恢复到更新之前的状态。 这个问题只与某些版本? 将更新到最新的Node.js解决这个问题? 谢谢您的合作。 更新版本 node.js@6.1.0 → 6.9.4 socket.io@1.4.6 → 1.7.2 # Client and server are the same version express@4.13.4 → 4.14.0 body-parser@1.15.1 → 1.15.2 jquery@2.2.3 → 3.1.1 jsdom@9.0.0 → 9.9.1 断开状态 连接数约为200.(更新前的连接数约为20,000) 连接1或2个小时后,连接断开。 Node.js服务器和负载均衡器(Pound)的CPU负载和内存使用情况没有exception。 关于浏览器的日志(devtools) 断开前请求(轮询)的响应时间为85秒,在下一个请求中输出“400错误请求”错误。 (正常状态下的响应时间为25秒) GET https://myapp.com/socket.io/?node…sport=polling.. 200 OK 24.99ms POST https://myapp.com/socket.io/?node…sport=polling.. 200 OK 1ms GET https://myapp.com/socket.io/?node…sport=polling.. 200 OK 25.01ms […]

node-mandrill通过服务器发送邮件

这是一个关于正确使用node-mandrill的新手问题,最有可能在节点本身,因为我仍然试图学习它。 但是由于我看到很多例子直接从客户端使用mandrill的api键,因此揭示它,我想知道它是如何工作时,但在这一点卡住: 我有一个app.js服务公共文件夹… app.js var express = require('express'); var mandrill = require('node-mandrill')(API_KEY); var app = express(); app.use(express.static('public')); app.listen(PORT); function sendEmail ( _name, _email, _subject, _message) { mandrill('/messages/send', { message: { to: 'EMAIL', from: [{email: _email , name: _name}], subject: _subject, text: _message } }, function(error, response){ if (error) console.log( error ); else console.log(response); }); } […]

使用swaggerExpress,Multerfile upload不起作用

我正尝试使用Mulder上传多部分表单数据。 我正在使用swagger express中间件来处理我的API。 没有招摇的一切工作。 但是随着招摇,文件没有上传。 没有validation错误,但它不会上传文件。 以下是您可能想要查看的一些代码: app.js SwaggerExpress.create(config, function(err, swaggerExpress) { if (err) { throw err; } swaggerExpress.register(app); var port = 8850; https.createServer(options, app).listen(port, function () { console.log('Bus993 server started @ %s!', port); }); }); 上传function function uploadImage(req, res, multer){ console.log("here", req.files); //ABOVE SHOWS A VALID FILE var storage = multer.diskStorage({ destination: function (req, […]

如何使webpack dev服务器访问公开?

https://github.com/nttcom/SkyWay-MultiParty我testing了这个api在本地运行webpack dev服务器 这是成功,但我想访问其他电脑或智能手机 我能做什么? 我第一次看到webpack代码 的package.json { "name": "skyway-multiparty", "version": "1.0.4", "description": "SkyWay js library for multi party apps", "homepage": "https://github.com/nttcom/SkyWay-MultiParty", "repository": { "type": "git", "url": "git://github.com/nttcom/SkyWay-MultiParty.git" }, "main": "lib/index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "webpack-dev-server": "webpack-dev-server –host 172.19.1.200 –port 8081 –open –https –content-base ./" }, webpack.config.js const webpack […]

mongoose – 铸造ObjectId失败

我正在一个小型的博客应用程序,我在这里被困在这个错误 – { "message": "Cast to ObjectId failed for value \" 597c4ce202ca9c353fc80e8a\" at path \"_id\" for model \"Blog\"", "name": "CastError", "stringValue": "\" 597c4ce202ca9c353fc80e8a\"", "kind": "ObjectId", "value": " 597c4ce202ca9c353fc80e8a", "path": "_id" } 我正在使用findById – 这是代码 app.get("/blogs/:id", function(req, res) { Blog.findById(req.params.id, function(err, foundBlog) { if (err) { res.send(err); } else { res.render("show", { blog: foundBlog }); } […]

NodeJS和AngularJS – 使用客户端证书authentication来保护REST API

我目前正在努力使REST Api服务器(NodeJS + Express + Mongoose)安全,除了我的客户端应用程序(AngularJS 1.6)和我的pipe理应用程序(基于AngularJS 1.6)之外,没有人可以访问路由并获取或放置数据到我的数据库。 所有内容都使用有效的SSL证书在https上运行。 我主要想到两种方法: 共享密钥在特定路由需要“访问密钥” 客户端证书authentication 我没有去。 2,因为在我的想法这是最安全的(请纠正,如果我错了:)) 所以我设置我的API服务器在https上运行,并请求一个有效的客户端证书: var options = { ca: fs.readFileSync(__dirname + "/cert/server.ca"), key: fs.readFileSync(__dirname + "/cert/server.key"), cert: fs.readFileSync(__dirname + "/cert/server.crt"), requestCert: true, rejectUnauthorized: false }; https.createServer(options, app) .listen(PORT, () => { console.log(`up and running @: ${os.hostname()} on port: ${PORT}`); console.log(`enviroment: ${process.env.NODE_ENV}`); }); 我通过以下方式直接在应用程序中处理未经使用的用户的拒绝: if […]

如何使用nodemailer为NodeJS应用程序在后台发送电子邮件?

我正在构build一个Angular 4和Node应用程序。 一旦任何用户在前端注册,我将其数据存储在数据库中,然后想要使用nodemailer包向他们发送成功的注册电子邮件。 这是Node js代码: router.post('/', function(req, res, next) { SOME_DATABASE_FUNC() { if(FAILED_CASE) { return res.status(500).json({ title: 'An error occurred', status: 500, error: error }); var mailOptions {…} transporter.sendMail(mailOptions, function (error, info) { if (error) { console.log(error); return res.status(500).json({ title: 'An error occurred', status: 500, error: error }); } console.log('Message', info.messageId, info.response); return res.status(200).json({ message: […]