前后共享类(nuxt.js)

时间:2019-02-12 12:27:11

标签: module export default nuxt.js

我正在尝试在vue和express之间共享一个简单的类。 问题在于vue支持es6默认的导入/导出,而express(node)仅支持require / module.exports语法。

是否可以在nuxt.js后端(express.js)中使用导出默认语句,所以我可以在两端使用我的类?或者,也许在vue中添加对module.exports的支持?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以从转译器中排除文件。

const Path = require('path')

module.exports = {
  build:{
    extend({ module: { rules } }) {
      const rule = findJsxRule(rules)
      rule.exclude = exclude(
        [
          Path.resolve(__dirname, '../lib'),
          Path.resolve(__dirname, '../interface')
        ],
        rule.exclude
      )
    }
  }
}

function findJsxRule(rules) {
  return rules.find(rule => {
    return rule.test.toString() === '/\\.jsx?$/i'
  })
}

function exclude(paths, old) {
  return file => {
    if (paths.some(path => file.startsWith(path))) {
      return true
    } else if (old) {
      return old(file)
    } else {
      return false
    }
  }
}