2014-11-24 1 views
4

나는 Webpack이 원인이라고 생각되는 문제로 오래 동안 고심하고 있습니다.Webpack에서 번들 출력에 구문 오류가 발생합니다.

본질적으로 필자는 Webpack을 클라이언트 (ReactJS 기반 응용 프로그램)에 제공하기 위해 번들로 묶는 노드 기반 응용 프로그램을 가지고 있습니다. Tabletop NPM 패키지를 설치하고 require을 설치하면 문제가 발생했습니다. 브라우저에서 웹팩 만든 bundle.js로드를 시도 할 때

, 나는 구문 오류 : bundle.js이 라인에 대해 불평

Uncaught SyntaxError: Unexpected identifier

:

target[capName] = __webpack_require__(387)(""path + '/' + name);

좀 파고 들자면, 나는이 줄이 Hoek 라이브러리에있는 줄에서 나온다는 것을 발견했다. (이것은 T의 하위 종속성이다. abletop) :

target[capName] = require(path + '/' + name);

분명히 웹팩 여기에 펑키 일을하고있다.

나는 원인을 찾아 낼 수 없었다. 테이블 탑에는 Nodepack을 사용할 수있는 an example의 NodeJS 사용법이 포함되어 있습니다.

나는 또한 위와 같은 불법적 변형을 보지 않고 Hoek와 Webpacke'd를 복제했다.

이제 Webpack, Hoek 또는 Tabletop 문제인지 확실하지 않아서 여기에 게시하고 있습니다.

여기 또는 GH 관련 문제는 없습니다.

모두에게 감사드립니다!

+0

동적 인 문제입니다. 단편 소설 webpack은 기본적으로 동적 요구 사항을 지원하지 않습니다 (예 : require (not + 'a + fixed + path);). 그러나 플러그 인을 사용하여이를 처리하는 방법을 가르치는 것이 가능합니다. 참조 : https://github.com/webpack/webpack/issues/118 및 https://github.com/webpack/webpack/search?q=dynamic+require&type=Issues&utf8=%E2%9C%93 – generalhenry

+0

코드 webpack에 의해 생성되었으므로 분명히 버그이며 Github에보고해야합니다. 또한 특정 옵션으로 인해 발생한다고 가정하기 때문에 config를 게시하십시오. –

+0

정보 주셔서 감사합니다. 나는 버그에 동의하지만, @generalhenry가 제공하는 링크에서 볼 수 있듯이 분명히 이것을 경험할 사람은 아닙니다. 나는 Tabletop에 구식'request' 의존성이 있음을 깨달았습니다. 테이블 탑을 업 그레 이드하고 어떻게 작동 하는지를 확인하고 있습니다. 완료되면 게시됩니다. –

답변

0

위의 동적 요청 행 때문에 hoek 패키지의 오래된 중첩 된 종속성이 발생했습니다. 이것은 [email protected]에서 삭제되었습니다.

불행히도 Tabletop의 request dep는 hoek에 의존하는 hawk의 구형 종속성을가집니다. 나는 request를 포크와 버전을 충돌,하지만 지금은 브라우저에서 부하에 다른 오류를 얻고있다 :

Uncaught Error: Cannot find module "net"

net가 핵심 노드 모듈, 그래서 우리가 '이후 뭔가 일이 일어나고있다 의심 웹 브라우저 JS를 브라우저에서 실행합니다. 그럼에도 불구하고 그것은 다른 이슈이므로 여기에 원래의 질문에 대한 답을 생각해보십시오.

그러나 여전히 탁상용을 사용할 수는 없습니다. 내가 Browserify하고 그 번들을 직접 사용해야 할 수도 있습니다.웹팩에 사용 웹팩의 설정 수정 superagent

plugins.push(new webpack.DefinePlugin({ "global.GENTLY": false }));node: {__dirname: true}

를 추가 할 때

0

좀 성공 superagent을 사용했습니다.

는 웹팩의 설정에 다음을 추가하는 request 라이브러리를 사용하는 경우 :

node: { 
    "net": "empty" 
} 

수정 Uncaught Error: Cannot find module "net"합니다.

그러나, 지금 request의 종속성 인 마임 라이브러리 문제에 봉착 : Error: ENOENT, no such file or directory '/types/mime.types'

AKSEL을, 당신은 웹팩와 request 고정 어떤 성공을 거두었 있나요?

+0

나는'/ types /'에'mime.types'와'node.types'를 썼지 만 이것은 올바른 접근법으로 보이지 않습니다. – Nodu

+0

정보 주셔서 감사합니다. 아니, 아직 시도하지 않았다. 나는 webpack과 관련된 문제를 피하는 클라이언트 응용 프로그램 대신 Gulpfile에서 Tabletop을 사용하는 것으로 끝 맺었습니다. –

관련 문제