그래서 이전에 몇 가지 일들을 수행했는데 다음과 같은 문제가 발생했습니다. Node, Socket.IO 및 JS를 사용하여 채팅 시스템에서 다른 파일에 저장하려고했습니다. 나는 인덱스 파일에 JS를 사용했지만 자체 파일에 JS를 원한다.내 JS가 작동하지 않습니다 (채팅 응용 프로그램)
내가 수행 한 app.use(express.static('public));
을 사용해야한다는 것을 알고 있습니다. 내 CSS는 /css/styles.css 디렉토리 (공용 폴더)에있는 별도의 파일에서 작동하지만 내 JS는 공용 폴더에서 작동하지 않습니다.
내 코드는 index.html에서 가져 오기 <script type="text/javascipt" src="/js/java.js"></script>
입니다. 그게 잘못된지 모르겠다면, 제발 저를 시정하십시오.
내 JS가 작동하지 않는 이유에 대한 도움이 될 것입니다. 고맙습니다.
추가 정보를 추가하면 클라이언트 측 또는 서버 측에서 오류가 발생하지 않습니다. 이 파일은 채팅 시스템을위한 전체 JS 파일입니다.
$('document').ready(function(){
var socket = io.connect();
var $messages = $('#messages');
var $m = $('#m');
var $submitForm = $('#submitForm');
var $userFormArea = $('#userFormArea');
var $userForm = $('#userForm');
var $username = $('#username');
var $errorText = $('#errorText');
var $messageFormArea = $('#messageFormArea');
$errorText.hide();
$messageFormArea.hide();
$submitForm.submit(function(e){
e.preventDefault();
socket.emit('chat message', $m.val());
$m.val('');
return false;
});
socket.on('sent message', function(data){
$messages.append('<li><strong>'+data.user+'</strong>: '+data.msg+'</li>');
});
socket.on('bad message', function(data){
$messages.append('<li><strong>'+data.user+'</strong>: Was trying to send invalid character!</li>');
});
$userForm.submit(function(e){
e.preventDefault();
if($username.val() === ''){
$errorText.show();
} else if ($username.val() === '<'){
$errorText.show();
} else if($username.val() === '>'){
$errorText.show();
} else {
$errorText.hide();
socket.emit('new user', $username.val(), function(data){
if(data){
$userFormArea.hide();
$messageFormArea.show();
}
});
}
$username.val('');
});
});
이 점을 염두에 두면서 index.html을 사용했습니다. 모든 수정/솔루션은 훌륭합니다. 감사!
idk이 문제는 해결되지만 app.use (express.static ('public));에'public '이라는 단어 뒤에''이 누락 된 경우 –
어떤 오류가 발생합니까? 가능하다면 최소한의 완전한 예제를 게시하여 재현하고보다 효과적으로 디버깅 할 수 있도록해야합니다. – ssube
또한 'text/javascript'의 철자가 잘못되었습니다. – duskwuff