【问题标题】:Not able to load the static files from express.js无法从 express.js 加载静态文件
【发布时间】:2017-01-07 07:41:12
【问题描述】:

我是 node.js 和后端编程的新手。我无法从 express 加载静态文件。我没有使用“公共”目录。我需要'js'文件夹中的js文件。 这是文件夹结构 folder structure:

在 index.js 中 我已经提过:app.use('/js',express.static(__dirname + '/js'));

index.html:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script type="text/javascript" src="js/sngulsr.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.1.3/ui-bootstrap.min.js"></script>
<script type="text/javascript" src="js/angular-routing.js"></script>
<script type="text/javascript" src="js/angular-main.js"></script>
<script type="text/javascript" src="js/controllers.js"></script>
<script type="text/javascript" src="js/custom.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.10.0/ui-bootstrap-tpls.js"></script>

(这些是未加载的文件)

所以,当我运行文件时,我得到 $ 未定义的错误,因为 jquery 没有被加载。

编辑: 从 app.use 中删除 __dirname 后 imageEDITED_IMG

【问题讨论】:

  • 应该只是 app.use(express.static('/')); 你设置它的方式,但是你已经向客户端打开了你的整个代码库,这就是我们使用 /public 文件夹的原因那个。
  • Windows 还是 Linux?如果从app.use 中删除__dirname 会发生什么?在运行 Web 应用程序的控制台中出现任何错误?
  • 谢谢!但是文件似乎仍然没有加载...
  • 视窗。从 app.use 中删除 __dirname 后,在此控制台中出现此错误。我已经编辑了我的问题,添加了新错误的 img。
  • 在 Windows 中 _dirname 包含反斜杠,并且您正在混合正斜杠/反斜杠。尝试使用相对路径:将“/js”更改为“./js”。这是您的应用程序中唯一的app.use() 吗?也许发布更多你的代码......

标签: javascript html angularjs node.js express


【解决方案1】:

稍微修改你的配置

app.use(express.static(__dirname + '/js'));

然后引用相对于该js文件夹的所有js路径,例如。

<script type="text/javascript" src="/jquery.min.js"></script>

您在static 方法中定义的路径将成为您的静态文件的根目录。

【讨论】:

  • 我可以看到只有我的第一个 js 文件,即 jquery.js 被无限多次加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 2018-05-08
  • 1970-01-01
  • 2014-07-12
  • 2018-03-19
  • 2017-05-18
相关资源
最近更新 更多