我们使用 Vite 作为前端(在 SvelteKit 内),它可以很好地创建 SSR 和前端代码。
\n我特别喜欢通过 esbuild 预捆绑第 3 方软件包。
\n有人可以告诉我是否可以将 Vite 捆绑管道用于仅后端项目(基于 koa 的 Nodejs 服务器)?
\n在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) 在这个问题的回答中——
Node.js 中的非阻塞或异步 I/O 是什么?
这个描述听起来与普通 js 中的事件循环没有什么不同。两者有区别吗?如果不是,事件循环是否只是简单地重新命名为“异步非阻塞 I/O”,以便更容易地销售 Node.js 而不是其他选项?
我们使用节点模块 pm2 来运行服务器并捕获应用程序日志。
但由于流量非常巨大,大量数据被存储在单个文件中,大约超过 100Gb。
我们是否有可能在不重新启动服务器的情况下每 1 小时或每 1Gb 文件更改一次文件?
目前我们正在手动执行此操作,重新启动服务器并重命名造成问题的现有文件。
为什么我用npm安装东西,会出现如下问题
错误:已知 npm 不能在 Node.js v9.2.1 上运行 支持 Node.js 9,但您运行的特定版本存在已知会破坏 npm 的错误。请至少更新到 9.0.0 才能使用此版本的 npm。您可以在https://nodejs.org/找到最新版本的 Node.js
然后我在Stack Overflow上找到了一些解决方案。
几乎每个答案都建议首先使用npm uninstall -g npm。但是当我使用这个命令时,它会出现与上面相同的错误。
我的 npm 版本是 6.13.7
我的节点版本是9.2。
我正在运行以下代码,但由于以下错误而失败。
列出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
我正在尝试创建一些环境变量,但是当我创建文件并运行服务器时,似乎未定义。我正在使用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) 我正在构建一个 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 …
我编写了 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
为什么我们在 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) nodejs-server ×10
node.js ×9
javascript ×4
express ×2
aws-lambda ×1
ecmascript-6 ×1
event-loop ×1
json ×1
logging ×1
pm2 ×1
vite ×1