小编Yaf*_*uko的帖子

Express.js,意外的令牌<

我有简单的快递服务器,看起来像这样:

Epxress应用程序:

var express = require('express');
var compression = require('compression');
var path = require('path');
var cors = require('cors');
var router = express.Router();

var app = express();

app.use('/bundle', express.static(path.join(__dirname, '/bundle')));

app.enable('trust proxy');

app.use(compression());

app.get('*', function(req, res) {
    res.header('Cache-Control', "max-age=60, must-revalidate, private");
    res.sendFile( path.join(__dirname, 'index.html') );
});


var server = app.listen(process.env.PORT || 5000, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log(`Example app listening at http://%s:%s`, host, port);
});
Run Code Online (Sandbox Code Playgroud)

简单的html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>React …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express reactjs react-router

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

使用 fs.createWriteStream 在 Nodejs 中写入大文件

我有一个函数,在完美的世界中应该创建一个巨大的 1M 行文件。这里是:

    const fileWriteStream = fs.createWriteStream(path.resolve(filePath));
    let ableToWrite = true;
    for (let i = 0; i < 1e6; i++) {
        if (ableToWrite) {
            ableToWrite = fileWriteStream.write(`.testClass${itr}-${i%2} { background: red } \n`);
        } else {
            fileWriteStream.once('drain', () => {
                ableToWrite = fileWriteStream.write(`.testClass${itr}-${i%2} { background: red } \n`);
            })
        }
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,我很快就收到以下错误:

MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListeners() to increase limit
Run Code Online (Sandbox Code Playgroud)

我真的不想增加此功能的听众数量。使用流写入这么大的文件的正确方法是什么?

非常感谢!

javascript node.js

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

标签 统计

javascript ×2

node.js ×2

express ×1

react-router ×1

reactjs ×1