html中的外部javascript被错误地发送到服务器
External javascript in html is sent incorrectly to the server
我正在运行一个Node.js服务器和一个Angular前端。我正在使用的一个Angular依赖项要求我将一个名为swing.js
的javascript文件导入到我的html页面中。然而,当我尝试这样做时,它会将所需的文件作为http请求发送到服务器,从而产生如下请求:
http://localhost:3000/home/me/app/node_modules/angular-swing/dist/swing.js
显然,这是一个404。作为一种选择,我试着改变
<script src="/home/me/app/node_modules/angular-swing/dist/swing.js"></script>
进入
<script src="swing.js"></script>
然后在服务器端,执行:
app.get('swing.js', function(req, res){
res.sendFile('home/me/app/node_modules/angular-swing/dist/swing.js');
});
这样做更有效,但文件无法正常运行,因为我假设它不再处于需要的npm环境中
<script src="/home/me/app/node_modules/angular-swing/dist/swing.js"></script>
转换为使用句点(.)表示更多相对路径的东西,但这似乎也不起作用。总的来说,我很困,如果有任何见解,我将不胜感激。如果它有任何用处,我也在使用:
app.use(express.static(__dirname+'/public'));
将我的评论转化为答案。。。
node.js默认不提供任何文件,因此您需要根据请求从服务器发送到客户端的任何脚本文件都需要一个明确的路由来处理它们,或者它们需要一些知道如何处理所有请求的脚本文件的通用路由。
客户端中的swing.js
不属于任何"NPM环境"。它当时正在运行浏览器,而不是在任何NPM环境中。swing.js本身可能需要一些其他脚本或资源,这些脚本或资源也需要路由,这就是为什么在为其制定明确的路由后,它就不起作用了。你可能会检查控制台中的特定错误,以了解它不起作用的原因。
您可能还想阅读以下内容:如何包含位于node_modules文件夹中的脚本?
- SignalR:调用集线器方法时出现内部服务器错误
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 使用javascript API响应内部服务器错误将曲目上传到SoundCloud
- AJAX错误状态代码500内部服务器错误
- Python在尝试保存新的JSON文件时导致服务器错误
- Jcrop&画布:裁剪区域的大小很奇怪;500内部服务器错误
- 如果JS会话变量为null,如何避免500内部服务器错误
- 如何在getJSON中捕获服务器错误
- POST encodeURI查询字符串内部服务器错误 500
- getJSON:网络错误:500 内部服务器错误
- 如何捕获服务器错误 JS
- Node.js:Mongoose内部服务器错误
- 缺少用于创建的模板.内部服务器错误-聚合物表单保存到数据库
- Jquery AJAX Post:500(内部服务器错误)
- 我的联系表格在测试/PHPMailer后给了我一个内部服务器错误(500)
- 服务器错误消息的正确正则表达式
- 500(内部服务器错误)的外部php文件
- 当显示找不到服务器错误页面时,如何刷新页面/框架
- 如何使用ng-messages在Angularjs中显示服务器错误
- 内部服务器错误在 post 请求中使用 Angular js 中的自定义服务