如何在前端加载本地脚本?

码:

app.js

//Static Folder app.use(express.static(path.join(__dirname, "/public"))); 

SECTION1 / index.ejs

 <script src="/public/js/firebase.js"></script> <script src="/public/js/angular.js"></script> <script src="/public/js/angularfire.js"></script> <script src="/public/js/jquery-3.1.1.min.js"></script> 

问题:

当我加载section1 / index.ejs时,所有这些文件的错误404

什么不见​​了 ? 我犯了什么错误?

您需要将第一个parameter passing给app.use ,这将成为公共path。

 app.use('/', express.static(__dirname + '/public')); 

然后在客户端上:

 <script src="/js/firebase.js"></script> 

你也可以使用/public而不是/

尝试使用:

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

我想如果你想用它作为没有虚拟path的中间件,你应该像这样使用它:

app.use(express.static('public'));

Express没有定义整个path,它会自动获取文件夹。