Javascript SyntaxError:函数语句需要函数名
这是我的代码,我正在使用Node express和EJS创建一个待办事项列表网站。 在这里,我导出app.js中的date.js文件以获取当前日期 这是我的app.js:Javascript SyntaxError:函数语句需要函数名,javascript,node.js,express,node-modules,web-deployment,Javascript,Node.js,Express,Node Modules,Web Deployment,这是我的代码,我正在使用Node express和EJS创建一个待办事项列表网站。 在这里,我导出app.js中的date.js文件以获取当前日期 这是我的app.js: const express = require("express"); const bodyParser = require("body-parser"); const date = require(__dirname + "/date.js"); const ap
const express = require("express");
const bodyParser = require("body-parser");
const date = require(__dirname + "/date.js");
const app = express();
let items= ["Buy Food","Cook Food","Eat Food"];
let workItems=[];
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static("public"));
app.set('view engine', 'ejs');
app.get("/", function(req, res) {
let day=date();
res.render("list", {
ListTitle: day,
newListItems:items
});
});
app.get("/work",function(req,res){
res.render("list", {
ListTitle: "Work List",
newListItems:workItems
});
});
app.post("/work",function(req,res){
let item=req.body.newItem;
workItems.push(item);
res.redirect("/");
});
app.post("/",function(req,res){
let item=req.body.newItem;
if(req.body.list==="Work"){
workItems.push(item);
res.redirect("/work");
}else{
item.push(item);
res.redirect("/");
}
});
app.listen(3000, function() {
console.log("server is up and running at port 3000");
});
当我尝试在我的超级终端中运行此命令时,它会抛出一个错误:SyntaxError:function语句需要函数名
如果我不导出date.js文件,而是在app.js中编写date.js文件的函数getDate()的内容,则工作正常。这意味着该行正在生成错误
const date = require(__dirname + "/date.js");
据我所知,错误要么在这一行中,要么在date.js文件中。但我无法找出问题所在
这是我的date.js文件:
module.exports= getDate;
function getDate()
{
let today = new Date();
let options = {
weekday:"long",
day:"numeric",
month:"long"
};
let day = today.toLocaleDateString("en-US", options);
return day;
}
有人能帮我解决这个问题吗
另外,这个待办事项列表web应用程序是angela Yu web开发课程的一部分。我遵循课程中给出的相同说明,但仍然会出现此错误
尝试给出完整的相对路径,而不是使用
\uu dirname
访问getDate
模块。我不确定你的项目结构是什么样的,但是如果app.js
和date.js
在同一个目录中,那么写const-date=require(“/date.js”)
试试const-date=require(/date.js”)
当您将function(){…}
放在需要语句而不是表达式的位置时,会发生该错误。我不知道这是怎么从你发布的任何代码中得到的。谢谢你回复@ChrisG。我尝试了这个constdate=require(“./date.js”)代码>但这一行也给了我同样的错误谢谢回复@Gavi Schneider。我也试着给出完整的路径,但它给了我同样的错误。