代码之家  ›  专栏  ›  技术社区  ›  nico

使用feathersjs时如何使vuejs应用程序与IE 11一起工作

  •  1
  • nico  · 技术社区  · 6 年前

    创建标准vue应用程序(使用vue cli v3.0)时,包括 @feathersjs/feathers 为了实现与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

    2 回复  |  直到 6 年前
        1
  •  0
  •   Marshall Thompson    6 年前

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

        2
  •  0
  •   nico    5 年前

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

    这是 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 )