节点群集:如何为每个工人分配单独的服务器/端口?

我明白,我可以使用节点cluster模块为了创build几个工作人员都服务于相同的套接字连接(例如从文档): var cluster = require('cluster'); var http = require('http'); var numCPUs = require('os').cpus().length; if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('exit', function(worker, code, signal) { console.log('worker ' + worker.process.pid + ' died'); }); } else { // Workers can share any TCP connection // […]

节点JS,快速结构和需求混淆

这一直使我疯狂。 我是NodeJS的新手。 我很喜欢它,但有些东西一直把我扔掉。 我被递交给节点项目的一个非常基本的起点,我不确定如何search谷歌。 //myapp/server.js var config = require('./config'); var app = express(); var api = require('./app/routes/api')(app, express); // <– this? app.use('/', api); var server = app.listen(3000, function () { console.log('\n============================'); console.log(' Server Running on Port 3000 '); console.log('============================\n'); }); 然后是包含路由的api.js文件。 //myapp/app/routes/api.js var config = require('../../config'); var mysql = require('mysql'); module.exports = function(app, express) { […]

什么使string/令牌密码安全?

如果您需要生成一个string/令牌来validation将来的请求(例如API密钥,电子邮件确认URL等),应考虑哪些因素? 尤其是 是什么让string“安全”/“很难猜到”? 如何测量/估计“安全量”? 那里的主要标准是什么? 一个实际的例子 我们从NodeJS中获取这两个输出string。 string1 (通过节点密码 ) var crypto = require('crypto'); crypto.randomBytes(48, function (ex, buf) { console.log(buf.toString('hex')); }); string2 (通过节点UUID ) var uuid = require('node-uuid'); console.log(uuid.v4()); 基于上述概念,哪一个更安全,为什么? 另外,请随时提出有关这个主题的任何好的介绍材料,因为我不容易find关于这个在线的文章。

一对一与mongoose的关系?

我知道如何在Mongoose实体之间build立一对多的关系,使用下列types的代码: friends: [{type: ObjectId, ref: 'User'}] 但是如果我只想要一对一的关系呢 – 比如这个用户和哪个客户端有关系?

为什么'新Promise(…)'返回'undefined'?

看起来如果在用于创build一个promise的函数中没有引用'resolve'函数,那么promise就是未定义的。 在下面的代码中,… var count = 0; var limit = 3; // var thePromise; function timeout(_count) { thePromise.resolve(_count); } function sendMessage() { return new Promise(function(resolve, reject) { if (++count > limit) { reject({'Limit Exceeded': count}); } else { // With this line in place, the return value from this function // (expected to be a promise) […]

我不能用npm更新电子

我无法更新电子预构build。 我多次执行sudo npm update electron-prebuilt -g 。 但是,尽pipe使用了sudo ,Permission denied Error每次都会发生。 为什么我不能更新电子成功? iojs3.2.0,OS X 10.10.5 以下是错误日志。 /usr/local/lib/node_modules/electron-prebuilt/install.js:15 throw err ^ Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/electron-prebuilt/electron-tmp-download-818-1441021602097/electron-v0.31.1-darwin-x64.zip' -> '/Users/user_name/.electron/electron-v0.31.1-darwin-x64.zip' at Error (native) npm ERR! Darwin 14.5.0 npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "install" "electron-prebuilt" "-g" npm ERR! node v3.2.0 npm ERR! npm v2.14.1 npm ERR! code ELIFECYCLE […]

如何使用React.js在Sails.js上呈现服务器端模板?

我正在尝试用Sails.js和React构build一个同构的应用程序。 客户端部分很容易。 但是我遇到了服务器端渲染的问题。 当我尝试使用React服务器渲染一个* .jsx文件时,我得到了这个: renderToString(): You must pass a valid ReactElement 我正在使用sailsjs,react和sails-hook-babel(用于ES6语法)。 ./assets/components/Auth.jsx: import React from 'react'; export class Auth extends React.Component { constructor(props) { super(props); } render() { return ( <div className='auth'> Very simple element without any logic just for test server-rendering. </div> ); } } ./api/controllers/AuthController.js: var Auth = require('./../../assets/components/Auth.jsx'); import React […]

这个在全球范围内和内部的function

根据MDN的这个解释 : 在全球范围内, this是指全球性的客体 在函数上下文中,如果函数被直接调用,则它再次引用全局对象 但是,以下是: var globalThis = this; function a() { console.log(typeof this); console.log(typeof globalThis); console.log('is this the global object? '+(globalThis===this)); } a(); …放在文件foo.js产生: $ nodejs foo.js object object is this the global object? false

如何访问RequireJS(AMD)环境中的node.js模块?

我有一个使用RequireJS (2.1.14)作为模块系统的前端SPA。 它基本上引导和加载Backbone.Marionette应用程序。 在main.js : require.config ({ baseUrl: '/js', waitSeconds: 200, nodeRequire: require, paths: { jquery: '//cdn/jquery.min', underscore:'//cdn/underscore-min', // more plugins }, shim: { // shimming stuff } }); require(['marionette', 'vent', 'config/template', 'app', 'routers/main' ], function (Marionette, vent, Template, nrtApp ) { 'use strict'; nrtApp.module ('Public.Main', function (Main, nrtApp, Backbone,Marionette, $, _) { nrtApp.start (); […]

在电子中调用节点本地插件(C ++)

我对Node JS和Electron完全陌生。 我正在尝试使用Electron和Node JS将C ++与HTML集成。 我已经通过一些例子给出了: GIT 我想要做的是从我的网页的JavaScript电子加载调用本地函数(你好())。 我已经使用node-gyp configure来生成我的Visual Studio解决scheme文件。 ( .sln )。 之后,我使用Visual Studio 2013 Express编译了我的代码,在build \ Release文件夹中成功生成了我的.node文件。 这是我的index.js文件: var addon = require('./build/Release/hello.node'); console.log(addon.hello()); 当我简单地运行这个node index.js ,它给我所需的输出: world 但是当我使用电子时,问题就出现了。 我使用电子二进制(32位)来运行我的网页。 以下是我的main.js文件: var app = require('app'); // Module to control application life. var BrowserWindow = require('browser-window'); // Module to create native browser window. require('crash-reporter').start(); […]