【发布时间】:2015-03-04 07:20:50
【问题描述】:
好的,到此为止。我昨晚开始学习我的第一个 node.js/MEAN 应用程序,并找到了这个教程来帮助我开始学习基础知识: https://scotch.io/tutorials/creating-a-single-page-todo-app-with-node-and-angular
所以我经历了这些,让应用程序很容易启动并运行,我想下一步我会尝试将事情分解成一个更模块化的结构。所以这就是我想要的:
-app
--controllers
---core.js
--models
---todo.js
--views
---index.html
-public
-routes
--todo.js
models.js
package.json
routes.js
server.js
因此,此时我几乎可以使用此结构进行所有工作,但我无法正常工作的一件事是 index.html 不再适用于 core.js。所以在我曾经拥有的索引文件中:
<script src="core.js"></script>
我将其更新为:
<script src="../controllers/core.js"></script>
使用新结构。由于某种原因会破坏应用程序并且它不再正确加载 core.js。但是,如果我再次将它们放入同一个目录并恢复脚本标记上的 src,它会再次起作用。这是唯一让我无法完成的事情。任何见解或帮助将不胜感激。
【问题讨论】:
-
您的 http 服务器配置似乎不正确。您如何提供静态文件?
-
index.html属于根文件夹。其他页面和模板的其他视图进入views。当您访问您网站(或任何网站)的 URL 时,它会从根文件夹中获取索引文件,我假设您将其定义为app的父文件夹。您可以将服务器设置为从app/views提供服务,但这不是正确的结构。 -
@lujcon 我更新了我的服务器配置以拥有
app.use(express.static(__dirname + '/app'));,看起来可能已经修复了它。感谢您提供静态文件提示。 -
@Mosho 感谢您的提醒。我会做一些阅读并考虑将该索引移动到项目的根目录。
-
@gspeager 请不要。索引放在硬盘上的哪个位置并不重要。只需根据需要排列文件。重要的是 - 不要混合服务器和客户端文件。
标签: javascript angularjs node.js mean-stack