cube-ui / question-answer

Q&A for cube-ui
16 stars 7 forks source link

❓ [vue-loader 15] 后编译 cube-ui 时,.vue 组件内代码未正确被 babel 转换 #55

Open dolymood opened 5 years ago

dolymood commented 5 years ago

问题

如果你的应用使用的是 vue-loader@15 的版本,且没有使用 vue-cli@3 的话,在你使用后编译的 cube-ui 时,会发现 babel-loader 是不会转换 cube-ui 的.vue组件内的代码的。

原因

原因是因为 vue-loader 15 之后,默认不会编译 node_modules 目录下代码了,是根据配置的 loader 规则进行编译的,参见 https://vue-loader.vuejs.org/migrating.html#importing-sfcs-from-dependencies

解决

如同 vue-loader 文档里的解决方案:

{
  test: /\.js$/,
  loader: 'babel-loader',
  exclude: file => (
    /node_modules/.test(file) &&
    !/\.vue\.js/.test(file)
  )
}