javascript-obfuscator / javascript-obfuscator/webpack-obfuscator

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

未关闭
#80 4 条评论 0 个 reaction 已指派 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

贡献指南

这个仓库没有索引到贡献指南

调研方向

首先,使用 `ionic cordova build android`,通过所示的 config/webpack.config.js 配置复现该失败。阅读第 22 行的 `node_modules/webpack-obfuscator/dist/index.js` 以及周围的 Webpack 堆栈,包括 ionic-app-scripts 3.2.4。完成的标准是确定不兼容或缺失的集成细节,并让构建越过 `emit` 错误。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, webpack
领域
build-system
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
28/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。