Tag: 环境variables

如何在sails js应用程序中全局使用knexjs

我如何获得我的控制器中的knex对象或任何其他模型文件,如果我不使用吃水线。 例如:在我的api / models / Users.js中 module.exports = { find : function(id){ // my knex query }, insert : function(data){ // my knex query again } } 所以在我的控制器,我只是做: var result = Users.find(id); 要么 var result = Users.insert({username : 'sailsjs'}); 或者knex对象将在模型文件本身中使用的全局可用…所以,我可以在控制器中执行knex查询 // UsersController / index index : function(req, res){ // my knex query } 谢谢阿里夫

将可变长度数组传递给Node JS

有没有办法调用一个可变长度的插件函数。 我把用户input变成一个看起来像的variables Uinput = [5,3,2]; 现在我想打电话给我的插件基于这些数字,所以它会 addon.myaddon(5,3,2); 我也想扩展到n个input,所以如果我的variables的用户input成为 Uinput = [5,3,2,6,…,n]; 那么插件就会被调用 addon.myaddon(5,3,2,6,…,n); addon.myaddon(Uinput) // will not seperate the inputs by commas are they are in the array variable, it treats the whole array as the input 这似乎很简单,但它给我一些麻烦。 有小费吗 ?

如何在node.js中导出envvariables

我喜欢我的node.js这么多,我想用它是我的bash启动脚本~/.bashrc ,但我不知道如何导出variables。 目前我必须使用这种方法: export PS1=`node ~/PS1.js` export PS2=`node ~/PS2.js` export PATH=`node ~/PATH.js` 相反,我想.bashrc看起来有 #!/usr/local/bin/node //do something, define functions export_var('PS1', PS1()) export_var('PS2', PS2()) export_var('PATH', generatePATH()) process.env.PATH = something不导出 ,只为当前正在执行的进程设置,这是节点本身。

套接字io获取断开连接的套接字的ID

我使用socket.io> 1.0编码聊天室 在我的聊天室应用程序中,我尝试了解谁刚断开连接。 要做到这一点,我需要访问套接字的ID。 断开事件被触发后, socket.on('disconnect', function(socket){ //need to learn socket's id here } 我无法检查刚刚离开的人。 我试过socket.id,但是给了一个错误。 我认为套接字对象被删除,因为我无法到达它的任何部分。 而我不想存储所有的套接字标识符,并在剩下的时候循环遍历所有的套接字标识符。 然后,我尝试使用会话中间件在会话中保存套接字的id,但是他们将数据附加到套接字对象,因此使用它是没有意义的(断开连接时所有数据都不存在),或者使用REST调用,但是我没有收到任何REST调用当某人(一个sockets)离开聊天室时。 非常感谢

在由jsdom加载的脚本中设置全局variables

我试图在Node.js中运行一些浏览器代码,以简化testing( deasync是原因)。 目前,我使用jsdom来parsing唯一的html文件。 起初,我试图让它加载脚本,它们在<script>标签中链接。 但由于相对文件path的一些愚蠢的问题,我已经切换到一个绝对path的列表传递给脚本文件作为参数jsdom.env函数。 现在我很确定,jsdom正确地find我的脚本,但是我不能在其中设置任何全局variables。 此外, console.log不在那里工作。 我已经检查过,如果通过require命令加载脚本,那么全局variables和控制台输出都按预期工作。 但与jsdom.env他们不工作。 我在Windows 7上使用Node.js 4.2.6版本。以下4个文件用于重现问题(它们位于同一个目录中): main.js – 以node.exe开头: var jsdom = require("jsdom"); require("./module"); var window = jsdom.env( '<p><a class="the-link" href="https://github.com/tmpvar/jsdom">jsdom!</a></p>', [ // "http://code.jquery.com/jquery.js", "file://" + __dirname + "/myjquery.js", "file://" + __dirname + "/script.js" ], undefined, function(error, window) { console.log("contents of a.the-link:", window.$("a.the-link").text()); console.log(global.hello, window.hello, global.hi); } ); […]

有什么理由使用var而不是让javascript?

使用新的关键字letvariables声明在JavaScript ES6中,我不能再想到使用var的好理由。 到目前为止,我一直这样做,我不认为使用let所有的时间的任何缺点。 今天使用var什么好的理由? 今天一直使用let是一个很好的习惯吗?

如何从nodejs模块中删除全局上下文?

关于如何去除nodejs模块中的全局上下文的任何想法? 我不是在寻找一个解决scheme来解决下面的问题,但是如果你需要更多的上下文,那就去吧。 我正在开发一个项目,在这个项目中,我的用户可以上传自己的nodejs模块,如果它符合预定义的框架,它将在整个周期中定期运行。 显然这是一个重大的安全问题。 一个好的90%的解决scheme就是简单地去除全局上下文。

在js函数中定义一个variables然后在函数外部使用它?

这里是我的代码,我正在做一个Node.js应用程序,我想在一个函数里面定义一个variables,然后就可以在函数的外面使用它的值了,我该如何实现呢? var readline = require('readline'); var rl = readline.createInterface(process.stdin, process.stdout); rl.setPrompt('guess> '); rl.prompt(); rl.on('line', function (line) { inputl = line; //I belive not using Var makes the variable Global? am am I correct in thinking so? if (line === "correct") console.log('correct answer my freind.')//rl.close(); if (line === 'quit') rl.close(); rl.prompt(); }).on('close', function () { process.exit(0); […]

困惑于有多less种方式设置NODE_ENV

我试图设置一个标志,通知我的代码是否在生产或开发。 到目前为止,我已经看到: 在VS Code的launch.json : { "configurations": { "env": "NODE_ENV": "development" } } 在Node的package.json : { "scripts": { "start": "NODE_ENV=production" } } 在Webpack的webpack.config.js : module.exports = { "plugins": new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"production"' }) } 运行代码时: set NODE_ENV=production && node app NPM包: https://www.npmjs.com/package/envify 电源shell: $env:NODE_ENV="production" 我想我只是困惑,因为默认情况下,我有大约4目前设置。 这些如何相互作用? 他们都指的是相同的variables? 我应该只有其中之一吗? 哪些覆盖别人? 我真的更喜欢,如果只有一个点来设置,因为它似乎每个单一的模块可以让你指定它,结果,我很困惑,实际上是在哪里设置。 另外,有没有在客户端访问这个标志呢,还是只在服务器端?

如何将Node环境variables传递给React Native JS代码

我试图访问来自React Native的JS代码的节点环境variables,但不pipe怎样,我通过它不使用。 如果我尝试像这样: NODE_ENV=test react-native run-android 我期望process.env.NODE_ENV等于test但是根据bundle请求的__DEV__参数被覆盖到production或development 。 在React Native中将环境variables传递给JS代码的build议方式是什么? 谢谢