Node.js + Express服务器特定的静态文件非常慢

时间:2015-11-02 21:58:37

标签: javascript node.js reactjs server-side

我有这个非常奇怪的问题。 我正在运行带有React前端的Express(Node.js)服务器。 自从我开始开发它以来,它运行干净且无问题,需要几秒钟来加载每次刷新。

今天开始加载可怕 - 从20秒到完整分钟为2MB的应用程序。

我检查过并发现有两个文件 - vendor.bundle.jsbundle.js(由gulp创建并包含应用程序代码和外部依赖项),这些文件比其他文件花费更多时间加载。 它们每个重约700KB,加载大约需要10秒。 作为比较,vendor.js重约400KB,加载需要1秒。

如果这还不够 - 我尝试运行我正在使用的应用程序的样板(这是一个教程的应用程序,所以它的重量大致相同),加载大约需要6秒。

我完全不知道为什么会发生这种情况,或者为什么这些特定文件会有所不同。

你有什么想法吗?我变得非常绝望。

感谢您的帮助。

表达静态文件服务和一些周围的事情:

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

//Static files being served
app.use(express.static(path.join(__dirname, 'public')));

app.use(require('./routes/user-routes'));

app.all('/api/*', jwt_middleware({ secret: config.secret }).unless({path: ['/login']}));
app.use(function (err, req, res, next) {
  if (err.name === 'UnauthorizedError') {
    res.status(401).send('invalid token...');
  }
});

app.get('*', function (request, response, next){
  response.sendFile(path.join(__dirname, 'public', 'index.html'))
});

1 个答案:

答案 0 :(得分:0)

单独离开,如果它回来,将尝试调试模块。