老师,你好,请问你知道@vue/app是什么来的吗?

来源:1-1 导学

慕用4150088

2019-11-11

不好意思老师,其实我已经学完了这门课程。今天遇到了一个关于vue的问题,百度了一下没找到答案,想看看老师你是否知道。

// babel.config.js
module.exports = {
  'presets': [
    '@vue/app'
  ],
  'plugins': [
    [
      'component',
      {
        'libraryName': 'element-ui',
        'styleLibraryName': 'theme-chalk'
      }
    ]
  ]
}

想请问一下老师,你知道vue中,babel.config.js里presets:[ ‘@vue/app’]是什么来的吗?我认为项目为了兼容性,需要引入@babel/polyfill,我一个同事说不需要,说可能@vue/app已经引入了polyfill,他的说法是对的吗?

npm install --save @babel/polyfill
// main.js
import "@babel/polyfill";
写回答

1回答

ustbhuangyi

2019-11-12

应该对应的是这个 https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/babel-preset-app

它内置了 babel 的一些插件,比如 @babel/plugin-transform-runtime、@babel/plugin-syntax-jsx 等。

通过下面这个链接

https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/babel-preset-app/index.js#L3-L14

我们可以看到它会内置了一些 polyfill,然后它内部实现最终会依赖 core-js 或者是 regenerator-runtime 下面定义的 polyfill。

https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/babel-preset-app/polyfillsPlugin.js#L1-L15

至于 @babel/polyfill 在 Babel 7.4.0 已经被废弃了,参考 https://babeljs.io/docs/en/babel-polyfill/ 

1
0

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3805 问题

查看课程