小编pet*_*teb的帖子

在IISNode中设置多个环境变量

我知道我可以使用web.config.

<iisnode      
  node_env="production"
/>
Run Code Online (Sandbox Code Playgroud)

指定一个node_env可以在服务器端*.js文件中访问的环境变量process.env.node_env.

但是,例如我想访问另一个环境变量,如 process.env.GLOBAL_PREFIX.类似的方案,例如访问AWS凭据.

当我尝试

<iisnode      
  node_env="production"
  GLOBAL_PREFIX="somevalue"
/>
Run Code Online (Sandbox Code Playgroud)

,由于无法识别的web.config文件,我无法运行应用程序.

configuration node.js iisnode

5
推荐指数
1
解决办法
3294
查看次数

Node JS req.body 未定义

我浏览了很多其他帖子,但我对此感到非常迷失。

我可以运行 aconsole.log(req)并得到以下输出

ServerResponse {
  ...
  req: 
   IncomingMessage {
    ...
     url: '/my-endpoint',
     method: 'POST',
     statusCode: null,
     statusMessage: null,
     ...
     body: { foo: 'bar' },
     _body: true,
     ...
     route: Route { path: '/my-endpoint', stack: [Object], methods: [Object] } },
  ...
Run Code Online (Sandbox Code Playgroud)

看起来很可靠,所以我希望这样做console.log(req.body)并返回{ foo: 'bar' }控制台......但是不,变得未定义

经过研究,我发现这可能与我的app.js文件有关,特别是与body-parser,但是,我已经拥有了所有这些

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var http …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express

5
推荐指数
1
解决办法
1万
查看次数

如何使用 n 将特定版本的节点设置为默认值

我已经node使用npm下面的命令安装了。

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n 8
Run Code Online (Sandbox Code Playgroud)

sudo n 8安装node 8

$ sudo n 8
 install : node-v8.11.3
   mkdir : /usr/local/n/versions/node/8.11.3
   fetch : https://nodejs.org/dist/v8.11.3/node-v8.11.3-darwin-x64.tar.gz
   ######################################################################## 100.0%
  installed : v6.13.1
Run Code Online (Sandbox Code Playgroud)

但没有将其设置为默认值

 $ node -v
 v6.13.1
Run Code Online (Sandbox Code Playgroud)

如何将节点版本 8 设置为默认节点版本。

node.js npm

5
推荐指数
1
解决办法
8091
查看次数

async.waterfall 和 child_process.execSync 有什么区别?

假设这是 linux shell,我想做的是:

copy file1 tmp
rename tmp file2
Run Code Online (Sandbox Code Playgroud)

我可以做瀑布

function copyFile(cb) {
    child_process.exec('cp file1 tmp', function (error, stdout, stderr) {
        ......
    });
}
async.waterfall([
    copyFile,
    renameFile
], function (error) {
    if (error) {
        //handle readFile error or processFile error here
    }
});
Run Code Online (Sandbox Code Playgroud)

或者猜我可以做

child_process.execSync('cp file1 tmp");
child_process.execSync('rename tmp file2');
Run Code Online (Sandbox Code Playgroud)

请问有什么区别?例如性能?阻塞?非常感谢 !

javascript node.js

3
推荐指数
1
解决办法
2986
查看次数

什么是socket.io握手中的“ t =“查询参数

一个socketIO握手看起来像这样:

http://localhost:3000/socket.io/?EIO=3&transport=polling&t=M5eHk0h

是什么t参数?找不到解释。

long-polling node.js socket.io

1
推荐指数
1
解决办法
834
查看次数

使用socket.io不支持WebSockets时会发生什么?

当前环境不支持使用socket.io的WebSockets时,有什么好处?

websocket node.js socket.io

0
推荐指数
1
解决办法
45
查看次数

如何创建仅针对该文件的全局变量

许多函数用于多个文件.所以,我一直在重构我的JS,所以我可以为所有不同的文件提供单一功能服务.我是JS的新手并且正在阅读文档,看起来全局变量在整个应用程序中都可用.

如果我创建一个全局变量,比如说Total,这个变量在我的应用程序的其他几个部分中使用.我不希望不同的Totals 之间发生冲突......但是,我确实希望利用一个共同的功能,calculateTotals().鉴于它是一个多用户应用程序,我需要"隔离" Total另一个的每个实例.我不想诉诸于他们所有不同的名字.

那么 - 如何制作一个特定于单个文件的"全局变量"?

javascript scope

-1
推荐指数
1
解决办法
69
查看次数

将换行符作为参数传递给函数

我正在尝试使用函数来构建基于作为参数传入的分隔符的字符串.其中一个分隔符是\n字符,传入换行符作为参数不输出我的预期.

let concat = function(a, b, sep) {
  return a + sep + b;
};

concat('Hello', 'World', '\n'); // Outputs 'Hello\nWorld'
Run Code Online (Sandbox Code Playgroud)

期望的输出:

你好
世界

我如何实现这一点,以便我得到我的输出字符串尊重换行符字符转义符号而不是将其视为字符串'\n'

javascript node.js

-1
推荐指数
1
解决办法
123
查看次数