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

时间:2016-12-26 20:40:12

标签: javascript node.js

CODE:

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

缺少什么?我犯了什么错误?

2 个答案:

答案 0 :(得分:4)

您需要将第一个参数传递给app.use,这将是公共路径。

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

然后在客户端:

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

您也可以使用/public代替/

答案 1 :(得分:0)

尝试使用:

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

我认为如果您想将其用作没有虚拟路径的中间件,您应该像这样使用它:

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

如果没有定义整个路径,Express会自动为您获取该文件夹。