我开始用简单的应用学习Nodejs。谷歌浏览器似乎无法在我的/assets/js.app
中找到我的app.js文件而不是{{vm.message}},它应该说Hello World。
Chrome一直告诉我它无法在index.ejs模板文件中找到app.js文件,该文件看起来像这样
<html ng-app="TestApp">
<title>The MEAN Stack</title>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
</head>
<body ng-controller="MainController as vm">
{{ vm.message }}
<script src="/assets/js/app.js"></script>
</body>
</html>
答案 0 :(得分:2)
使用express.static
时,可选路由前缀实际上不是文件路径的一部分,而是附加到URL。您可以使用/assets/assets/js/app.js
,但最好只删除前缀:app.use(express.static(__dirname + "/public"))
。
我还会说assets
应该保留用于像图像这样的东西,js
甚至css
属于他们自己的更高级目录,但这是有争议的。
提供来自express
的静态内容适用于开发或玩具应用,但在实际的制作应用中,您应该查看比node.js更好的静态文件服务器。