Powergate JS Client
目前在参加 Filecoin 太空竞赛2,正在用 Vue 写一套 UI ,因为和 IPFS 网络数据交互需要使用 Powergate JS Client ,踩了一天的坑,记录一下,如果能够解决你的问题,请帮我点个赞。
一、Vue Babel 无法编译 Powergate JS Client
Powergate JS Client 依赖 ipfs-http-client ,在这个依赖中,很多语法都是 ES7、ES8。
如果你的 Babel 版本不够高,会无法编译!
如果你是用 Vue-Cli2 构建的项目,除非你是大神,要不然建议你直接使用 最新 Vue-Cli 版本构建,这会省去很多麻烦。
二、Powergate JS Client Dev 模式可以编译,Build 模式无法编译
如果你在 开发模式/dev 下可以正常编译,但是无法构建成 生产/dist 包,请把你 UglifyjsWebpackPlugin 关闭。
在 vue.config.js 文件下,注释掉 UglifyjsWebpackPlugin
new UglifyjsWebpackPlugin({
// 生产环境推荐关闭 sourcemap 防止源码泄漏
// 服务端通过前端发送的行列,根据 sourcemap 转为源文件位置
// sourceMap: false,
uglifyOptions: {
warnings: false,
compress: {
drop_console: true,
drop_debugger: true
}
}
})
三、 Cordova 白屏
如果你把 dist 包放入 cordova 封装的 App 会显示白屏,证明你手机浏览器内核不支持 Powergate Js,里面太多高级写法,所以浏览器无法识别,解决方案暂时还没想到。 🙈🙈🙈