循环 Javascript 导入加载到 VuexORM
Loop Javascript Imports to load into VuexORM
每当我有一长串要导入 javascript 的项目时,我的自然意图是将这些项目导出到一个单独的文件中,在我的主 javascript 文件中需要该文件,然后如果它们需要加载到 Vue 或其他进程中,遍历它们并动态加载它们。
我刚刚开始使用 VueORM,需要像这样将 ORM 模型加载到 VueORM 实例中:
import Foo from '@/models/foo'
import Bar from '@/models/bar'
database.register(Foo)
database.register(Bar)
我的应用程序将有几十个模型,所以我想像我提到的那样从一个文件中导出这些模型,然后遍历它们并注册它们。
// main.js
import * as models from '@/models'
Object.keys(models).forEach(key => {
database.register(model[key])
})
在我的模型中,我将每个模型导出为函数,如下所示:
// models/index.js
export const Foo = () => import('@models/foo')
export const Bar = () => import('@models/bar')
这通常工作正常,但在 VuexORM 中模型没有被加载。
有人可以建议从单独的文件加载这些模型的更好方法吗?
Vuex ORM 不处理动态导入。与其将它们导出为动态导入,不如使用普通的 ESM 语法简单地导出它们?
以下假设您的模型是默认导出的。
// models/index.js
export { default as Foo } from '@/models/foo'
export { default as Bar } from '@/models/bar'
随后,您的 main.js 可以聚合模块:
// main.js
import * as models from '@/models'
Object.values(models).forEach(model => database.register(model))
每当我有一长串要导入 javascript 的项目时,我的自然意图是将这些项目导出到一个单独的文件中,在我的主 javascript 文件中需要该文件,然后如果它们需要加载到 Vue 或其他进程中,遍历它们并动态加载它们。
我刚刚开始使用 VueORM,需要像这样将 ORM 模型加载到 VueORM 实例中:
import Foo from '@/models/foo'
import Bar from '@/models/bar'
database.register(Foo)
database.register(Bar)
我的应用程序将有几十个模型,所以我想像我提到的那样从一个文件中导出这些模型,然后遍历它们并注册它们。
// main.js
import * as models from '@/models'
Object.keys(models).forEach(key => {
database.register(model[key])
})
在我的模型中,我将每个模型导出为函数,如下所示:
// models/index.js
export const Foo = () => import('@models/foo')
export const Bar = () => import('@models/bar')
这通常工作正常,但在 VuexORM 中模型没有被加载。
有人可以建议从单独的文件加载这些模型的更好方法吗?
Vuex ORM 不处理动态导入。与其将它们导出为动态导入,不如使用普通的 ESM 语法简单地导出它们?
以下假设您的模型是默认导出的。
// models/index.js
export { default as Foo } from '@/models/foo'
export { default as Bar } from '@/models/bar'
随后,您的 main.js 可以聚合模块:
// main.js
import * as models from '@/models'
Object.values(models).forEach(model => database.register(model))