Express

时间:2015-12-19 02:08:35

标签: javascript express

我有一个index.html,它有几个脚本标记,但它们都返回404错误,我无法弄清楚如何解决它。目前,它们位于顶级目录中并以此方式引用。例如<script type="text/javascript" src="./util.js"></script>

我尝试使用require('./file.js');,但在我看来,这不是我想要的。这不会只让我在后端访问吗?它需要与html一起提供。

1 个答案:

答案 0 :(得分:2)

express.static()root路径是Express开始匹配磁盘上文件的目录。

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

该路径也不会成为网址的一部分。它以类似于:

的方式与req.path结合使用
var rootPath = 'orbit'; // from `express.static('orbit')`

console.log(path.join(rootPath, req.path));
// 'orbit/orbit/util.js'

请注意,与评论中的路径相比,orbit出现两次且static缺失:

./static/orbit/util.js

或者,使用上面建议的路径:

var rootPath = path.join(__dirname, 'static');

console.log(path.join(rootPath, req.path));
// "/path/to/your/application/static/orbit/util.js"

// assuming `__dirname` is `/path/to/your/application/`