문제는 코드를 별도의 자바 스크립트 파일에 넣으려고한다는 것입니다. 그리고 한 파일은 이전에 index.html
파일에서 참조 된 파일의 변수를 나타냅니다.내 프론트 엔드 자바 스크립트 파일은 다른 자바 스크립트 파일의 변수에 액세스 할 수 없습니다.
예를 들어, 내 공용 폴더의 두 파일은 client.js
및 test.js
입니다. 내 client.js
파일에서
, 나는이 코드를 가지고 : 내 test.js
파일에서
function init() {
var socket = io.connect();
var temp = x;
}
document.addEventListener("DOMContentLoaded", init, false);
을, 나는이 코드를 가지고 : 내 index.html
파일에서
var x = 5;
을, 나는이 코드를 가지고 :
<!DOCTYPE html>
<html>
<head>
<title>Amazing Particle System</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<canvas id="particle"></canvas>
<script src="/socket.io/socket.io.js"></script>
<script scr="/test.js"></script>
<script src="/client.js"></script>
</body>
</html>
하지만 코드를 실행할 때 항상 오류가 발생합니다 :
client.js:15 Uncaught ReferenceError: x is not defined
개발자 도구에서 소스 탭에 내 test.js
파일을 볼 수 없습니다.
내 코드에서 잘못된 점이 있습니까? 문제를 어떻게 해결할 수 있습니까?
어떻게 당신이 초기화 함수를 호출 할, 당신은 X를 통과하는 생각이 그것을 호출 할 때 매개 변수로? –
@VladimirDrenovski io 연결에 대한 몇 가지 코드를 생략했습니다. 하지만 이것은 nodejs 프로젝트의 클라이언트 측에서 여러분이 아이디어를 얻을 수 있도록합니다. 이 질문에서 말했듯이'init' 함수는'client.js'에서 호출됩니다. – newguy
''에서 오타를 수정해야합니다.'src'attribute 대신'scr'을 썼습니다. 그래서 스크립트가 작동하지 않습니다. –