Tag: 环境variables

在node.js中使用全局variables进行dependency injection

我正在开始一个基于node.js的长期项目,所以我正在build立一个坚实的DI系统。 尽pipenode.js的核心意味着使用简单模块require()来连接组件,但是我发现这种方法并不适合于大型项目(例如,要求每个文件中的模块不是可维护,可testing或dynamic的)。 现在,在发布这个问题之前,我已经完成了一些研究工作,并且发现了一些有趣的用于node.js的DI库(参见wire.js , dependable.js ) 但是,为了最大限度地简化和最小的重复,我提出了自己的实现DI的build议: 你有一个模块,di.js,作为容器,并通过指向一个json文件来存储一个依赖名称和他们各自的.js文件的地图初始化。 这已经为DI提供了dynamic性,因为您可以轻松地交换testing/ dev依赖关系。 容器可以通过使用一个inject()函数来返回依赖关系,该函数find依赖关系映射并用它调用require()。 为了简单起见,模块被分配到一个全局variables,即global。$ di,这样项目中的任何文件都可以通过调用$ di.inject()来使用容器/注入器。 这是实现的要点: di.js: module.exports = function(path) { this.deps = require(path); return { inject: function(name) { if (!deps[name]) throw new Error('dependency "' + name + '" isn\'t registered'); return require(deps[name]); } }; }; 依赖关系图json文件: { "vehicle": "lib/jetpack", "fuel": "lib/benzine", "octane": "lib/octane98" } 根据开发/testing模式,初始化主js文件中的$ […]

AngularJS:http链调用和NodeJS的问题:在多个http调用中使用variables的问题

我在我的node.js文件中有一个get调用和一个post调用,它们都使用与我在这些调用之外初始化为空string相同的variables。 在post调用中,我设置了variables,而在get调用中,我将该variables的值返回给我的客户端angularjs,请求该值。 在我的angularjs文件中,我先进行post调用,然后进行get调用,这意味着值应该被设置,并且应该在get调用被发出并返回时可用。 这是我正在做的事情: 的NodeJS var myUrl= ""; app.post('/post', function(req, res){ myUrl = res.url; }); app.get('/get, function(req, res){ res.json({result: myUrl}); }); AngularJS: var promise = $http.post('/post') .then(function(response){ return $http.get('/get'); }).then(function(response){ console.log(response.data.result); }); 我已经尝试了AngularJS诺言链调用,但它仍然无法正常工作。 我遇到的问题是,当我在第一轮请求中进行get调用时,即使post调用已经发出,urlvariables还没有被设置,所以get调用返回一个空string。 在第二轮请求中,get调用返回从第一个post调用中设置的值,依此类推。 关于为什么会发生这种情况的任何想法以及有关如何解决此问题的build议,以便get调用返回同一轮请求中的post调用中设置的值(get调用在调用完成后发出)? 我是相当新的NodeJS所以任何帮助表示赞赏!

dotenv-webpack是否将.env的所有环境variables公开给前端?

我正在构build一个应用程序,其中有一些API的公钥和其他API的私钥。 我想将它们全部存储在我的单个.env文件中,并使用dotenv将私钥提供给我的服务器,并将dotenv-webpack提供给我的公共前端javascript。 将使用此包使我的私人密钥在我的JavaScript可用或将只采取它所需要的? 例: # .env file public_key="12345" private_key="45678" 这个需要在前端访问 // javascript file on front end var publicKey = process.env.public_key 但我想保留这个隐藏的 // javascript file in node.js var privateKey = process.env.private_key 我正在考虑使用这个包: https : //www.npmjs.com/package/dotenv-webpack

使用angular-fullstack生成器时,访问后端envvariables的最佳方法是什么?

我正在使用Yeoman的angular度全叠层发生器。 我已经更新了我的服务器/ config / environment / local.env.js文件: module.exports = { DOMAIN: 'http://localhost:9000', SESSION_SECRET: 'vfsite2-secret', SENDGRID : { API_KEY : 'my_api_key' }, DEBUG: '' }; 如何最好的方式,我可以使用SENDGRID.API_KEY其他在我的服务器上的文件,例如我的server/api/thing/thing.controller.js ? 注意这个问题不是重复的问题,因为我想在服务器端使用。

NodeJS获取和传递variables

鉴于node.js的asynchronous特性,我在计算variables“通过”(我知道这不是正确的术语,我将解释)时遇到了一些麻烦。 请看下面的内容: connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { if(err) { throw err; } var solution = rows[0].solution; }); res.render('index', { title: solution }); 正如你可以想象的,我得到一个reference error, solution is not defined 。 这是因为res.render是在从mysql服务器获取解决scheme之前完成的。 一旦解决scheme被定义,我怎样才能使它呈现页面? 我知道这是一个非常小而愚蠢的事情,真的是节点的核心,但请帮助我理解。

如何在nodejs中parsing包含环境variables的path?

我想运行一个可执行文件,其path包含一个环境variables,例如,如果我想运行chrome.exe我想写这样的东西 var spawn = require('child_process').spawn; spawn('chrome',[], {cwd: '%LOCALAPPDATA%\\Google\\Chrome\\Application', env: process.env}) 代替 var spawn = require('child_process').spawn; spawn('chrome',[], {cwd: 'C:\\Users\myuser\\AppData\\Local\\Google\\Chrome\\Application', env: process.env}). 有一个我可以用来实现这个的包?

节点dotenv不起作用

我正在尝试使用节点dotenv模块,它不适合我。 我有一个文件在config / config.js与以下内容: 'use strict'; var dotenv = require('dotenv'); dotenv.load(); console.log('config'); 我的应用程序文件夹的根目录下还有一个名为.env的文件。 我也有像TWILIO_ACCOUNT_SID这样的环境variables。 这是我在尝试在某个函数中使用环境variables时所经历的过程: Omes-MacBook-Pro:sidetime ome$ node > require('./config/config.js'); config {} > process.env.TWILIO_ACCOUNT_SID undefined 我在我的.env文件中定义了TWILIO_ACCOUNT_SID,但是一旦我尝试在控制台上输出这个值,我就会得到一个未定义的错误。 如果您对如何解决这个问题有什么build议,我会非常感激。

Node.JS – 如何从任何path运行节点命令?

我从这里安装了最新的node.js。 我看到已经为Node.js设置了%Path%variables。 但是,当我从C:\运行节点,我得到一个“节点不是一个公认的指挥官”。 但节点命令从“C:\ Program Files(x86)\ nodejs”path工作正常。 我可以不运行从C:\的节点命令或从另一个path说如果我设置环境variables的权利? 请帮忙。 我正在运行一个Win7的X64。 谢谢你,法拉斯

如何在没有框架的情况下处理node.js中的会话

我正在开发SPA(单页networking应用程序); 这个想法是轻量级的,并没有使用太多的框架和抽象和东西,所以我创build了静态+dynamic文件的HTTP服务器,它运作良好。 现在我已经在web应用程序中实现了socket.io,但是我想知道你认为什么是处理会话的好方法(请记住,socket io必须能够识别调用函数的用户并知道谁必须推送数据)。 希望我已经清楚了:)

用于node.js中的Jade模板的全局variables

我用Jade模板系统使用node.js 假设,我有这些路由规则: // ./routes/first.js exports.first = function(req, res) { res.render('first', { author: 'Edward', title: 'First page' }); }; // ./routes/second.js exports.second = function(req, res) { res.render('second', { author: 'Edward', title: 'Second page' }); }; 而这些虚拟的观点: // ./views/first.jade html head title #{author} – #{title} body span First page content // ./views/second.jade html head title #{author} – […]