【问题标题】:Not allowed to load local resources不允许加载本地资源
【发布时间】:2016-10-08 00:12:25
【问题描述】:

当我尝试将我的 html 页面链接到我的 express 应用程序中的我的 javascript 文件时,我在我的开发人员工具中收到上述错误。 我在本地机器上使用 hbs 渲染引擎在 express 应用程序中运行它。 代码sn-p是这样的

html

<script type="text/javascript" src="file:///public/javascripts/jquery/jquery-2.2.4.min.js"></script>
<script type="/javascript" src="file:///public/javascripts/receiver.js"></script>
<script type="text/javascript" src="file:///public\javascripts\jquery-2.2.4.min.map"></script>

这是 app.js 中设置视图引擎的部分

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

当我检查开发者工具时,我得到了这个控制台错误

不允许加载本地资源:file:///public/javascripts/jquery/jquery-2.2.4.js (指数) :1 不允许加载本地资源:file:///public/javascripts/receiver.js (指数) :1 不允许加载本地资源:file:///public/javascripts/jquery-2.2.4.min.map

为什么程序无法访问我的 javascripts?

【问题讨论】:

  • 你需要一个网络服务器,你不能运行file://协议的网站。
  • 但如果我删除它,我会收到 404 错误
  • 您需要发布您的 express 节点代码,以便我们查看您如何配置您的网络服务器来读取您的静态文件。
  • @Garuuk 除了将视图引擎设置为 hbs(参见上面的编辑)之外,我根本没有编辑 express 文件
  • 再一次,你不能使用file:// 协议,你最终会遇到同源错误。如果您在 Node 中运行网络服务器,只需停止使用 file:// 就可以了。

标签: javascript jquery html


【解决方案1】:

首先。

不要使用 file:// 加载文件。只需输入相对路径。 不要通过脚本标签加载 javascript 源映射。 您可以在 javascript 文件的 and 中添加这一行: //# sourceMappingURL=/path/to/script.js.map

第二个。

您的快递应用程序中有这行小代码:app.use(express.static('public'));。如果没有,请添加它。 服务器知道公共路径。所以你不必写public/

如果这是你的结构:

  • server.js
  • 公开/
    • index.html
    • javascripts/
    • receiver.js
    • jquery/
      • jquery-2.2.4.min.js

将此写入您的 html 或车把文件中。

<script type="text/javascript" src="javascripts/jquery/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="javascripts/receiver.js"></script>

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多