我遇到错误,并花了几个小时试图解决它。 我的文件结构:
-/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>
我不使用 express
或 express.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/