使用Feathers.js时如何使Vue.js应用程序与IE 11一起使用

时间:2018-12-21 13:24:50

标签: vue.js babeljs feathersjs transpiler

在创建标准vue应用程序(使用vue-cli v3.0)并包含@feathersjs/feathers以实现与Feathers API的连接时,Internet Explorer 11(SCRIPT1010: Expected identifier出现错误)

最重要的是找到一种解决此类问题的简便方法,因为在较大的项目中,很容易发现很多库问题,并且有时必须支持至少一个版本的Internet Explorer(至少从业务角度而言)的观点)

我在Feathers网站(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。

2 个答案:

答案 0 :(得分:0)

我认为该过程应与Vuetify网站上该页面上标题为“ IE11&Safari 9 support”(滚动到底部)的部分中的指示相同:({滚动至底部):https://vuetifyjs.com/en/getting-started/quick-start

我还记得我在项目中不需要做的其他事情。

答案 1 :(得分:0)

我终于设法解决了这个问题。

这是完成窍门的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