IT이야기

node.js에서 예기치 않은 예약어 가져오기

cyworld 2021. 9. 13. 21:49
반응형

node.js에서 예기치 않은 예약어 가져오기


node.js 백엔드 서버를 실행하려고 합니다. unexpected reserved wordNode.js 파일에서 가져올 때 오류가 발생 했습니다.

파일의 줄 core.module.js은 다음과 같습니다.

'use strict';
import lodashMixins from './lodashMixins.js'
... other imports and configurations ...

간단한 명령을 실행합니다. node core.module.js

흔한 오류는 아니지만 일반적으로 다른 라이브러리에서 발생합니다. Node.js에 대한 솔루션을 보지 못했습니다. 어떻게 수정해야 하나요? 저는 윈도우 서버를 사용하고 있습니다.

편집: ES6이라는 것을 알았지만 어떻게 시작할 수 있습니까? 응용 프로그램의 백엔드처럼 보이지만 오류 없이 실행하려면 어떤 명령을 사용해야 하는지 모르겠습니다.


import키워드는의 일부 ECMAScript를 2015 년 모듈 기능 과 함께, export그리고 몇 가지 다른 규격.

현재 최신 버전(v0.12.7)에서도 NodeJS에서 기본적으로 구현되지 않으며 ES2015 "더 친숙한" 포크 iojs에서도 지원되지 않습니다.

이 작업을 수행하려면 트랜스파일러를 사용해야 합니다.

[편집] --harmony_modules플래그가 있음에도 불구하고 최신 버전(v5.8)에서는 여전히 지원 되지 않습니다 . 여기여기에서 설명한 대로 가장 좋은 실행은 babel을 사용하는 것입니다.


import의 일부 ECMAScript 2015 (ES6) standard와 같이 Amit한 것이 상기 현재 Nodejs 기본적으로 구현되지 않았다.

따라서 스크립트 babel를 실행하기 위해 트랜스파일러를 사용할 수 있습니다.es6

npm install babel

답변을 기반으로 한 예

앱.js

 import {helloworld,printName} from './es6'
 helloworld();
 printName("John");

es6.js

 module.exports = {
    helloworld: function() { console.log('hello world!'); },
    printName: function(name) { console.log(name); }
}

그리고 start.jsrequire hook 에서 사용

require("babel/register");
var app = require("./app.js");

그리고 다음과 같이 앱을 시작하십시오.

node start.js

편집 위의 답변은 babel v5.8.23. 을위한babel >= v6

사용 require hookstart.js

require('babel-core/register');
require("./app.js");

또한 변환은 기본적으로 활성화되어 있지 않습니다. 따라서 을(를) 설치해야 합니다 preset. 이 경우 es2015를 사용 하십시오.

npm install babel-preset-es2015

.babelrc루트 폴더 파일에서 사용하십시오.

{
   "presets": ["es2015"]
}

Visual Studio 외부에서 이러한 도구를 수동으로 설치할 때 이 문제가 발생했습니다. 그러나 Visual Studio는 최신 웹 개발 워크플로에 사용되는 여러 오픈 소스 명령줄 도구와 함께 제공됩니다. 다음은 수동으로 설치한 것과 동일한 버전을 사용하도록 Visual Studio에 지시하는 방법입니다.

도구 -> 옵션 -> 프로젝트 및 솔루션 -> 외부 웹 도구로 이동합니다.

  • 내부 경로 앞에 전역 PATH 환경 변수를 설정합니다. 오른쪽 상단의 화살표를 사용하여 순서를 변경할 수 있습니다.

또는

  • 먼저 이미 가지고 있는 Node.js 설치를 찾아 명령줄에서 사용합니다. 기본적으로 Node.js 0.12.7은 "C:\Program Files\nodejs"에 설치됩니다. Visual Studio에서 대신 해당 버전을 사용하도록 하려면 이 항목을 node.js 디렉토리 경로의 맨 위에 추가하세요.

ReferenceURL : https://stackoverflow.com/questions/32346886/unexpected-reserved-word-import-in-node-js

반응형