如何修复 Webpack 在生产中篡改我的代码
How do I fix Webpack from mangling my code in production?
我正在使用BitcoinJS构建一个应用程序,发现使用-p
标志会导致webpack破坏某些部分,从而破坏生成交易的能力。
建议我在配置中使用带有alias
的noParse
,这使问题变得更糟(整个应用程序根本不会加载)。
到目前为止,除了关闭生产(这会在javascript文件中留下各种奇怪的东西,包括我的本地开发路径)之外,我还没有找到任何解决方法。
此处提供的示例项目(包含安装说明以及如何重现):https://github.com/Someguy123/example-webpack-issue
编辑/更新:@bebraw提供了一个有效的解决方案,如果其他人想看到它的实际效果,可以在示例项目的fixed
分支上找到它。
问题是 Uglify 默认在您的情况下破坏太多。根据bitcoinjs-lib指令,您需要排除某些名称,如下所示:
plugins: [
new webpack.optimize.UglifyJsPlugin({
mangle: {
except: [
'Array', 'BigInteger', 'Boolean', 'Buffer',
'ECPair', 'Function', 'Number', 'Point'
]
}
})
]
配置插件后,使用 webpack
而不是 webpack -p
。
它将使生成的捆绑包稍大一些,但它会起作用。
另一种选择是在其他地方为 bitcoinjs-lib 单独生成捆绑包,然后使用它。您还必须考虑那里的重整,但它会使您的项目更整洁。
相关文章:
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 验证我的代码json
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- 我不知道为什么我的代码是错误的?又有什么错
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- I'我不知道为什么我的代码没有'不起作用
- 为什么动态加载的事件在我的代码中不能正常工作
- 如何禁用我的切换按钮?这是我的代码
- 我需要将条形图集成到我的代码中
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 我的代码在<脚本>标记,但没有'不能在外部文件中工作
- 在我的代码中,实体类"卡片展示”;不起作用
- Webrtc和socket.io:createanswer()总是有一个错误.为什么?我的代码连接了两个对等体,但其中只
- 我的代码很完美,但我现在不知道为什么我发现了问题
- Html、css和jQuery.我的代码有问题
- 鼠标事件,我的代码出了什么问题
- 我怎样才能修复我的代码,以便<罢工>不会使我的 Javascript 代码无效
- 如何在我的“代码块”中使表格 Squarespace 网站响应式
- 如何使我的代码更快
- 在我的代码中管理大量硬编码数据的最佳方法