我正在尝试使用Heroku上的MEAN构建我的第一个Web应用程序。我按照他们的指南来运行示例应用程序。然后我下载了示例应用程序代码并对其进行了更改以加载登录页面。不幸的是,我无法加载我的app.js文件。这是角度脚本。在主目录中,我有运行express的index.js。无论如何,我能够加载.ejs .css和img文件,但这个脚本不会。我被卡住了。我需要能够通过这个来修补足够的东西来开始学习堆栈。
脚本位于公共目录中,其他文件已加载。代码看起来还好吗?不知道为什么我会在脚本上获得404.
非常感谢任何帮助!
var express = require('express');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
// views is directory for all template files
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.get('/', function(request, response) {
response.render('pages/index');
});
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
<script src="/js/app.js"></script>
原来没有将更改推送到服务器。这就是所有人!
答案 0 :(得分:3)
您只需将app.js
移至公用文件夹即可。 index.js中的这一行app.use(express.static(__dirname + '/public'));
告诉express要从/public
文件夹中提供静态资源。您项目中的其他所有内容都将被隐藏&#34;除非你公开它,否则在服务器上。
你可以在公共场合创建一个js文件夹并在那里移动app.js.然后将index.ejs中的引用从src="/app.js"
更改为src =&#34; /js/app.js"。