【问题标题】:How to reference angular controllers through different directories如何通过不同的目录引用角度控制器
【发布时间】: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


【解决方案1】:

我更新了我的服务器配置以拥有 app.use(express.static(__dirname + '/app')); 并且似乎修复了它

【讨论】:

    猜你喜欢
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 2019-08-20
    • 2014-11-10
    相关资源
    最近更新 更多