javascript-obfuscator / javascript-obfuscator/webpack-obfuscator

webpack.config.js - Cannot read property 'emit' of undefined

オープン
#80 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
928
フォーク
92
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi - I'm not sure if this is the right place to post this but I could use some help.

I'm developing a project using Cordova/Ionic 3, and I'm trying to add the javascript-obfuscator plugin following [this guide](https://medium.com/front-end-weekly/ionic-and-other-hybrid-apps-code-protection-4561d2a2a605).

I've installed the javascript-obfuscator package via NPM, I've got a `config` folder with a copy of `webpack.config.js` that's being recognised by my project and used. I've added my plugin:

```
var JavaScriptObfuscator = require('webpack-obfuscator');

```

And in the `plugins` section:

```
plugins: [
new Dotenv({
path: '.env.dev', // load this now instead of the ones in '.env'
systemvars: true, // load all the predefined 'process.env' variables which will trump anything local per dotenv specs.
silent: true // hide any errors
}),
ionicWebpackFactory.getIonicEnvironmentPlugin(),
ionicWebpackFactory.getCommonChunksPlugin(),
new JavaScriptObfuscator({
stringArrayEncoding: 'base64'
})
],
```

But when I run the `ionic cordova run android` command, I get the following output:

```
PS C:\MobileDev\sd-site-induction> ionic cordova build android
> ionic-app-scripts.cmd build --target cordova --platform android
[15:53:49] ionic-app-scripts 3.2.4
[15:53:49] build dev started ...
[15:53:50] clean started ...
[15:53:50] clean finished in 7 ms
[15:53:50] copy started ...
[15:53:50] deeplinks started ...
[15:53:50] deeplinks finished in 451 ms
[15:53:50] transpile started ...
[15:54:04] transpile finished in 13.94 s
[15:54:04] preprocess started ...
[15:54:04] preprocess finished in 1 ms
[15:54:04] webpack started ...
[15:54:04] ionic-app-script task: "build"
[15:54:04] TypeError: Cannot read property 'emit' of undefined
TypeError: Cannot read property 'emit' of undefined
at WebpackObfuscator.apply (C:\MobileDev\sd-site-induction\node_modules\webpack-obfuscator\dist\index.js:22:24)
at Compiler.apply (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\node_modules\tapable\lib\Tapable.js:375:16)
at webpack (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\node_modules\webpack\lib\webpack.js:33:19)
at C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:132:24
at new Promise ()
at runWebpackFullBuild (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:113:12)
at webpackWorker (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:70:19)
at Object.webpack (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\webpack.js:29:12)
at bundleWorker (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\bundle.js:13:22)
at Object.bundle (C:\MobileDev\sd-site-induction\node_modules\@ionic\app-scripts\dist\bundle.js:6:12)
[ERROR] An error occurred while running subprocess ionic-app-scripts.
```

Any ideas why this is happening, or what the error means?

Thanks,
bengrah

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、示されている config/webpack.config.js の設定で `ionic cordova build android` を使用して失敗を再現します。22 行目の `node_modules/webpack-obfuscator/dist/index.js` と、ionic-app-scripts 3.2.4 を含む周辺の Webpack スタックを読みます。互換性のない、または欠落している統合の詳細を特定し、ビルドが `emit` エラーを越えられれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, webpack
領域
build-system
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
28/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。