vue.js - 使用 feathersjs 时如何使 vuejs 应用程序与 IE 11 一起工作
问题描述
在创建标准 vue 应用程序(使用 vue-cli v3.0)并包括@feathersjs/feathers
为了实现与羽毛 API 的连接时,我在 Internet Explorer 11 中遇到错误(SCRIPT1010: Expected identifier
)
底线是找到一种简单的方法来解决这样的问题,因为在更大的项目中很容易找到很多库问题,有时需要支持至少一个版本的 Internet Explorer(至少从业务角度来看)
我在羽毛网站 ( https://docs.feathersjs.com/api/client.html#module-loaders ) 上读到该库使用 ES6,因此在这种情况下,必须对其进行转译才能在 IE11 之类的浏览器中工作。
所以我尝试了这个但完全没有运气:
// vue.config.js
module.exports = {
baseUrl: '/',
transpileDependencies: [
'@feathers/commons',
'@feathers/errors',
'@feathers/feathers',
'debug'
]
}
甚至在 chrome 中也出现错误:Uncaught ReferenceError: exports is not defined
我创建了一个项目来显示此错误:https ://github.com/riescorp/vue-internet-explorer
应该能够为这个应用程序使用 IE11,即使它运行不快或看起来不错,但可以运行。
解决方案
我终于设法解决了这个问题。
这是解决babel.config.js
问题的配置:
module.exports = {
presets: ['@vue/app'],
plugins: ['@babel/transform-modules-commonjs']
}
我的也有一个错字,vue.config.js
应该是这样的:
// vue.config.js
module.exports = {
baseUrl: '/',
transpileDependencies: [
'@feathersjs',
'debug'
]
}
最后,当使用羽毛时,这条线不起作用:
.configure(restClient.fetch(window.fetch))
所以你可以用import 'whatwg-fetch'
它来解决它(记得安装它npm i whatwg-fetch
)
推荐阅读
- amazon-web-services - 等效于 AWS 中的别名以与其他 DNS 提供商一起使用
- flutter - 颤振自定义appbar相对于状态栏的垂直位置
- html - 交叉点中带有圆圈的 HTML 网格
- javascript - 如何仅更改一张表的总计
- postgresql - 如何从 PostgreSQL 中的 CURRENT_DATE 中减去一列中的天数
- java - SerenityRest:如何处理没有内容的响应
- github - git push 上的致命错误(没有上游分支,pack 超出最大允许大小,写入错误:Broken pipeB/s,)
- groovy - 缺少 Jmeter 日志
- reactjs - “react-native”中“React”的“Asyncselect”有什么替代方法吗?
- python - Python 绘图显示线输出