标签: nodejs-server

后端使用Vite

我们使用 Vite 作为前端(在 SvelteKit 内),它可以很好地创建 SSR 和前端代码。

\n

我特别喜欢通过 esbuild 预捆绑第 3 方软件包。

\n

有人可以告诉我是否可以将 Vite 捆绑管道用于仅后端项目(基于 koa 的 Nodejs 服务器)?

\n

node.js nodejs-server vite

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

如何在nodejs中从远程url创建可读流?

在nodejs文档中,streams部分说我可以做fs.createReadStream(url || path)。但是,当我真正这样做时,它告诉我Error: ENOENT: no such file or directory。我只想将视频从可读流传输到可写流,但我坚持创建一个可读流。

我的代码

const express = require('express')
const fs = require('fs')
const url = 'https://www.example.com/path/to/mp4Video.mp4'
const port = 3000

app.get('/video', (req, res) => {
    const readable = fs.createReadStream(url)
})
app.listen(port, () => {
    console.log('listening on port ' + port)
})
Run Code Online (Sandbox Code Playgroud)

错误:

listening on port 3000
events.js:291
      throw er; // Unhandled 'error' event
      ^

Error: ENOENT: no such file or directory, open 'https://www.example.com/path/to/mp4Video.mp4'
Emitted 'error' event on ReadStream instance …
Run Code Online (Sandbox Code Playgroud)

video-streaming node.js nodejs-stream nodejs-server

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

JavaScript 中的事件循环和 Node.js 中的异步非阻塞 I/O 有什么区别?

在这个问题的回答中——

Node.js 中的非阻塞或异步 I/O 是什么?

这个描述听起来与普通 js 中的事件循环没有什么不同。两者有区别吗?如果不是,事件循环是否只是简单地重新命名为“异步非阻塞 I/O”,以便更容易地销售 Node.js 而不是其他选项?

javascript event-loop node.js nodejs-server

17
推荐指数
2
解决办法
2485
查看次数

使用 pm2 运行服务器时如何轮换日志文件?

我们使用节点模块 pm2 来运行服务器并捕获应用程序日志。

但由于流量非常巨大,大量数据被存储在单个文件中,大约超过 100Gb。

我们是否有可能在不重新启动服务器的情况下每 1 小时或每 1Gb 文件更改一次文件?

目前我们正在手动执行此操作,重新启动服务器并重命名造成问题的现有文件。

logging pm2 pm2-logrotate nodejs-server

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

已知 NPM 不能在 Node.js v9.2.1 上运行

为什么我用npm安装东西,会出现如下问题

错误:已知 npm 不能在 Node.js v9.2.1 上运行 支持 Node.js 9,但您运行的特定版本存在已知会破坏 npm 的错误。请至少更新到 9.0.0 才能使用此版本的 npm。您可以在https://nodejs.org/找到最新版本的 Node.js

然后我在Stack Overflow上找到了一些解决方案。

npm 警告 npm npm 不支持 Node.js v9.1.0

npm 不支持 Node.js v9.0.0

几乎每个答案都建议首先使用npm uninstall -g npm。但是当我使用这个命令时,它会出现与上面相同的错误。

我的 npm 版本是 6.13.7

我的节点版本是9.2。

javascript node.js nodejs-server

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

“chunk”参数必须是字符串类型或 Buffer 的实例

我正在运行以下代码,但由于以下错误而失败。

列出bucker内所有对象的AWS代码

const http = require('http');
const host = '127.0.0.1';
const port = 5000;
const path = require('path')
const url = require('url')
const fs = require('fs')
var AWS = require('aws-sdk');



const laptopDate = JSON.parse(fs.readFileSync(`${__dirname}/data/data.json`, `utf-8`))

AWS.config.update({accessKeyId: '***', secretAccessKey: '***', region: 'ap-south-1'});
s3 = new AWS.S3({apiVersion: '2006-03-01'});

var params = { 
    Bucket: 'bucket-name'
}

const server = http.createServer(function(req, res){
    const path = url.parse(req.url, true).pathname
    const id = url.parse(req.url, true).query.id

    if (path === 'bucket' || path === '/')
      s3.listObjects(params, function (err, data) …
Run Code Online (Sandbox Code Playgroud)

javascript node.js aws-sdk-nodejs nodejs-stream nodejs-server

9
推荐指数
2
解决办法
2万
查看次数

NodeJS 环境变量未定义

我正在尝试创建一些环境变量,但是当我创建文件并运行服务器时,似乎未定义。我正在使用nodemon. 我已经重新启动了我的服务器,但没有运气。

更新

.env

MONGO_ATLAS_PW = "xxxx";
JWT_KEY = "secret_this_should_be_longer";
Run Code Online (Sandbox Code Playgroud)

包.json

...
  "scripts": {
    ...
    "start:server": "nodemon ./server/server.js"
  }
Run Code Online (Sandbox Code Playgroud)

应用程序.js

 require('dotenv').config();
 ...
 console.log(process.env.JWT_KEY); //undefined 
Run Code Online (Sandbox Code Playgroud)

javascript json node.js nodejs-server

8
推荐指数
3
解决办法
2万
查看次数

Nodejs express http 服务器如何处理并发请求?

我正在构建一个 Node.js 应用程序并想了解如何处理并发请求。

我构建了一个测试服务器,通过等待 10 秒来模拟高 CPU 负载。为了测试行为,我打开两个浏览器选项卡并同时刷新页面。

const http      = require('http');
const express       = require('express');
const bodyParser        = require('body-parser');
const app       = express();
const server        = require('http').createServer(app);  

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.get('*', function (req, res, next) {
    var requestTime = new Date().getTime(),
            executionTime;

    doHeavyWork(requestTime, function(error){
        res.send({
            requestTime     : requestTime,
            executionTime   :   executionTime
        });
    });

});

function doHeavyWork (requestTime, callback) {
    var sleepSeconds = 10;

    while (requestTime + sleepSeconds*1000 >= new Date().getTime()) {}

    callback(null);
}

server.listen(1337, '127.0.0.1');
Run Code Online (Sandbox Code Playgroud)

根据我对 Node.js …

node.js express nodejs-server

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

使用 Node Js 的 AWS Lambda 在 http.request() 上提供“connect ETIMEDOUT”

我编写了 lambda 函数,每当在 s3 存储桶上创建任何新对象时,它都会检索 s3 Url。检索 s3Url 后,此 lambda 通过 REST Call 向我的服务器发出请求。

我观察了云观察者。它未能向我的服务器发送请求我不想在我的 lambda 中使用外部包,我想让它轻量级,这就是我使用 nodeJ 的 https 的原因。

这是我的 Lambda 代码

 exports.handler =  (event,context,callback) => {
  // Extract S3 Url and id From S3 object present in event
  const https = require('https');
  let {s3 , awsRegion} = event["Records"][0];
  let {object : {key}, bucket : {name}} = s3;
  let s3URL = `https://${name}.s3.${awsRegion}.amazonaws.com/${key}`;
  console.log("sURL",s3URL);
  let _id = key.split('/')[0];
  console.log("id",_id);
//Making http request to my server
  let body='';
  // the …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js ecmascript-6 aws-lambda nodejs-server

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

为什么我们在 http.createServer(app) 中传递“app”

为什么我们在 http.createServer(app) 中传递“app”,因为我们也可以传递

例如:

var app = require('./app')
const http = require('http')
const port = 3500 || process.env.PORT


var server = http.createServer(app) //here we pass app
Run Code Online (Sandbox Code Playgroud)

在其他代码中,我们传递了一些不同的参数,例如

https.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.write('Hello World!');
  res.end();
}).listen(port)
Run Code Online (Sandbox Code Playgroud)

node.js express nodejs-server

5
推荐指数
2
解决办法
815
查看次数