javascript - 从nodejs + Ionic应用程序中index.html中的另一个文件夹导入js文件时出现404错误

标签 javascript angularjs node.js cordova ionic-framework

我遇到错误,并花了几个小时试图解决它。 我的文件结构:

-/node_modules
-/www
---bundle.js
---index.html

在index.html中我有这样的代码

<script src="node_modules/ng-cordova/dist/ng-cordova.min.js" type="text/javascript"></script>

<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>

<script src="bundle.js"></script>

问题是 bundle.js 包含得很好,但是 ng-cordova.min.js 给出了 404 错误

Cannot GET /node_modules/ng-cordova/dist/ng-cordova.min.js

编辑:我也尝试过但没有成功

<script src="/node_modules/ng-cordova/dist/ng-cordova.min.js" type="text/javascript"></script>
<script src="../node_modules/ng-cordova/dist/ng-cordova.min.js" type="text/javascript"></script>

我不使用 expressexpress.static

最佳答案

从你的项目结构来看,我敢打赌它是由 Express.js 提供支持的。我还打赌 www 文件夹在 Express 应用程序中被设置为静态文件夹,如下所示:

app.use('/', express.static(path.join(__dirname, www)));

在这种情况下,您的服务器将仅提供位于 www 文件夹中的文件。您需要在 www 文件夹中包含所有客户端依赖项:

-/node_modules/
-/www/
--lib/
---ng-cordova/
--bundle.js
--index.html

然后像这样加载它们:

<script src="lib/ng-cordova/dist/ng-cordova.min.js" type="text/javascript"></script>

更新

只需将node_modules放入www文件夹中,它应该可以正常工作。

关于javascript - 从nodejs + Ionic应用程序中index.html中的另一个文件夹导入js文件时出现404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225214/

相关文章:

mysql - 如何让mysql表达式返回整数值?

javascript - 无法构建 Flux todo-mvc 示例

node.js - 停止服务器后连接socket.io增加

javascript - 如何将一个函数值传递给另一个 in - angular 2 服务

javascript - 如何使用 jQuery 或 JavaScript 替换两个 XML 标签之间的文本?

javascript - Angular-UI 路由器,如果来自/模态路由则不刷新

javascript - 禁用 angularJs 路由,routeprovider 已经消失

javascript - document.getElementById 对内部 html 的调用适用于 $_POST 和 $_GET 变量,但不适用于普通的 php 变量

javascript - 过滤/恢复 Promise.all 结果

javascript - 在 Angular JS 中点击添加 div 内容