4

私はしばらくの間、Webpackが原因であると思われる問題に苦しんでいます。

基本的に、クライアントに提供するためにWebpackにバンドルしているノードベースのアプリがあります(これはReactJSベースのアプリです)。この問題は、Tabletop NPM パッケージをインストールしてrequired したときに発生しました。

ブラウザーで作成された Webpack を読み込もうとするとbundle.js、構文エラーが発生します。

Uncaught SyntaxError: Unexpected identifier

のこの行について不平を言っていますbundle.js

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

掘り下げた後、この行はHoekライブラリ (Tabletop のサブ依存関係) の行に由来することがわかりました。

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

明らかに、Webpack はここで奇妙なことを行っています。

原因の切り分けには至りませんでしたが。Tabletop には NodeJS の使用例が含まれており、これを Webpack して問題なく実行できました。

また、上記のような不正な変換を確認することなく、Hoek のクローンを作成して Webpacke しました。

これが Webpack、Hoek、または Tabletop の問題であるかどうかはわかりません。そのため、ここに投稿しています。

ここでもGHでも、関連する問題は見つかりません。

すべての助けに感謝します!

4

2 に答える 2

0

hoek上記の動的な require 行が原因で、パッケージの古いネストされた依存関係が原因であることが判明しました。これは、hoek@2.0.0 で削除されました。

残念ながら、Tabletop のrequestdep には古い依存関係があり、hawkこれもまた に依存していhoekます。バージョンをフォークrequestしてバンプしましたが、ブラウザでのロード時に別のエラーが発生しています。

Uncaught Error: Cannot find module "net"

net. それにもかかわらず、それは別の問題なので、ここで元の質問に答えたと思います..

しかし、私はまだ Tabletop を使用できません。それを Browserify して、そのバンドルを直接使用する必要があるかもしれません。

于 2014-11-25T09:57:26.197 に答える