【问题标题】:How to include imported modules in an export?如何在导出中包含导入的模块?
【发布时间】:2016-01-25 15:04:25
【问题描述】:

这是我要导出的模块。没什么,只是初始化Parse的JavaScript SDK:

mixin.js:

import Parse from 'parse'

var ParseMixin = {
  created: function () {
    Parse.initialize('APP_ID', 'CLIENT_ID')
  }
}

export default ParseMixin

这就是我导入和使用它的方式:

ma​​in.js:

import ParseMixin from '../mixins'

export default {
  mixins: [ParseMixin],

  methods: {
    submit () {
      const project = {
        title: this.title,
        content: this.content
      }

      const Obj = Parse.Object.extend(store.class)
      const obj = new Obj()
      obj.save(project).then(() =>
        console.log('Saved.')
      )

      ...

但是,现在我收到此错误:

错误 no-undef "Parse" 未定义
/home/alex/node/cotrib/src/components/ProjectList.js:54:19 const Obj = Parse.Object.extend(store.class)

因为Parse 不是从mixin.js 导入的。

如何修改代码让Parse也被导入?

【问题讨论】:

  • 为什么不在另一个文件中也只有import Parse from 'Parse'?这通常比你自己给模块起别名要好。

标签: javascript parse-platform ecmascript-6 vue.js


【解决方案1】:

如果你需要在main.js中引用Parse,那么你应该在那里加载它:

// main.js
import Parse from 'parse'
import ParseMixin from '../mixins'

每个模块都应该导入其依赖项。


如果您愿意,可以从ParseMixin 中公开Parse

// mixins.js
export {Parse};

// main.js
import ParseMixin, {Parse} from '../mixins';

但默认和命名导出似乎比直接导入依赖项更令人困惑。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    相关资源
    最近更新 更多