2014-01-21 2 views
1

JavaScript (C++에서 제공)를 처음 접하고 JavaScript 코드를 컴파일하고 디버그 할 수 있는지 여부를 스스로 묻습니다. VisualStudio2012와 SublimeText2를 Node.js와 함께 사용하려고 시도했지만 두 경우 모두 라이브러리 (3djs)를 사용하려고하면 컴파일 오류가 발생합니다.JavaScript에서 컴파일 오류 : "libraryVar is not defined"

SublimeText2에서 오류 메시지는 "ReferenceError : d3 is not defined"입니다. 내가이 예를 d3js 컴파일하려고하는 오류가있어 : 나는 어떤 브라우저를 열 때 이상하게 http://bl.ocks.org/mbostock/3828981

는 예를 완벽하게 일을 ..

아무도 내가 뭘 잘못하거나 심지어 수 있는지 말해 줄 수 JavaScript 코드를 컴파일하거나 디버그 하시겠습니까? (죄송합니다. 매우 초보적인 질문 인 것 같습니다. 그러나 몇 시간 동안 답변을 찾지 못했습니다 ...)

감사합니다.

+0

JavaScript를 어떻게 "컴파일"하시겠습니까? 런타임시 해석되는 스크립트 언어입니다. –

+0

그래서 컴파일이 가능한지 묻습니다. 정상적으로 JavaScript를 실행하기 전에 컴파일되지 않았다는 것을 알고 있지만이 튜토리얼을보고 시도해 보았습니다. http://www.youtube.com/watch?v=3qW7cseYJu4 잘 작동하지만 라이브러리를 사용하려고하면 잘됩니다. 이 ReferenceError를 던집니다. – Enemenemiste

답변

1

node.js도 JavaScript를 컴파일하지 않습니다 (C++ 의미가 아니라 JavaScript 인터프리터는 Just-In-Time 컴파일). node.js와 브라우저의 주요 차이점은 node.js가 오류를 숨기지 않는다는 것입니다.

첫 번째 질문은 프로젝트에 라이브러리를 올바르게 포함했는지 여부입니다. 이를 위해 우리는로드/가져 오기에 사용하는 소스 코드를 볼 필요가 있습니다.

라이브러리가 올바르게로드 되었다면 JavaScript 인터프리터에서 버그가 발생했을 수 있습니다. 최신 버전 또는 최신 안정적인 버전 또는 그 이전 버전을 설치하십시오.

[편집] HTML에서는 <script> 요소를 사용하여 페이지 컨텍스트에 스크립트를 포함시킵니다. Node.js를 사용하는 경우, 당신은 require()을 사용할 수 있습니다

말했다
var d3 = require('./d3.js') 

, D3.js 클라이언트 프레임 워크입니다. DOM과 같은 표준 브라우저 환경을 기대합니다. node.js에서는 작동하지 않습니다. node.js는 require을 사용하여 가져올 수있는 모듈 (= 물건)이 certain format이 될 것으로 예상합니다.

간단한 대답은 다음과 같습니다. IDE에서 JavaScript 코드를 "컴파일"하고 디버그 할 수 없습니다. 항상 HTML 페이지를 만들어 브라우저에서 열어야합니다. 최신의 모든 브라우저에는 콘솔, JavaScript, CSS, HTML 및 DOM을 디버깅하고 검사하는 도구가 있습니다.

+0

답변 해 주셔서 감사합니다. 오류가 너무 커서 브라우저가 숨길 수 없다고 생각합니다. d3 객체를 찾을 수 없으면 svg 그래픽이 표시되지 않지만 예제는 브라우저에서 올바르게 표시됩니다. Plus VisualStudio는 node.js의 버그가 될 수 없다고 생각하여 같은 오류를 보여주었습니다 ... 그러나 나는 이후 버전을 시도 할 것입니다. – Enemenemiste

+0

'd3'을 코드에 정의해야하는 이유는 무엇이라고 생각하십니까? 브라우저에는 프레임 워크를 포함하는'script' 요소가 있습니다. 코드에 프레임 워크를 어떻게 포함합니까? –

+0

나는 Visual Studio에서 .html 파일이 통합 된 프로젝트 구조를 자동으로 생성하는 JavaScript 프로젝트를 만들었습니다.처음에는 html 파일이 Visual Studio 프로젝트의 .jsproj 파일에 링크되어 있기 때문에 .html 파일에 JavaScript-Framework를 포함하면 Project-Structure를 통해 작업 할 수 있다고 생각했습니다. 순수 JavaScript 텍스트에서 프레임 워크를 사용하는 올바른 방법을 찾지 못했습니다. 인터넷에서 읽은 각 토론에서 사람들은 .html 파일 또는 JSON 파일로만이 작업을 수행 할 수 있다고 말했습니다. – Enemenemiste

관련 문제