You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Angular的server.js时箭头函数报‘expression expected’错误求助

解决Angular项目server.js中箭头函数的"expression expected"错误

刚从Java转JavaScript的话,确实容易踩一些语法细节的坑!你遇到的"expression expected"提示,其实是代码里几个小语法错误导致的,我帮你逐个揪出来:

  • require模块的参数错误:var http = require(http); 这里应该传入字符串形式的模块名,改成 var http = require('http');
  • 文件路径拼写错误:var api = require('./server'/api); 路径拼接用斜杠的方式不对,正确写法是 var api = require('./server/api');
  • app.get的语法错误:这是导致箭头函数报错的直接原因!你写的 app.get('*'), (req, res) => { ... } 把app.get的参数拆成了两个独立语句,JS解析器会认为app.get('*')已经是完整调用,后面的箭头函数就成了无意义的孤立表达式。要把逗号改成括号里的参数分隔,正确写法是 app.get('*', (req, res) => { res.sendFile(path.join(__dirname, "dist/index.html")); })
  • 变量拼写错误:precess.env.PORT 里的precess是拼写错误,应该是process,改成 var port = process.env.PORT || '3000';

修正后的完整server.js代码如下:

var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
var http = require('http');
var app = express();
var api = require('./server/api');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static(path.join(__dirname, 'dist')));

app.use('/', api);

app.get('*', (req, res) => { 
  res.sendFile(path.join(__dirname, "dist/index.html")); 
});

var port = process.env.PORT || '3000';
app.set('port', port);

var server = http.createServer(app);
server.listen(port, () => console.log("Server is running"));

这些都是JavaScript里基础的语法细节,和Java的语法规则有些差异,多写几次就熟悉啦!

内容的提问来源于stack exchange,提问作者Ryder Thacker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:53:11