有没有更好的方法或在 vue.js 中导入 mixins

问题描述

我在我的项目中创建了许多 mixin,现在我要做的是导入 mixins/index.js 文件以及任何需要的组件或页面中的所有 mixin,我只需从 {{1 }}。

现在我怀疑是否在进行 show 时我会导入所有不需要的 mixin 还是只导入我使用的 mixins 文件

假设我在 mixins/index.js

中创建并导入了这些 mixim
mixins/index.js

现在让我们在我的 import a from 'mixins/a.js' import b from 'mixins/b.js' import c from 'mixins/c.js' import d from 'mixins/d.js' import e from 'mixins/e.js' export { a,b,c,d,e } 中说我将导入 'x' components

'a' mixins

在这种情况下,我只需要在我的 import { a } from 'mixins/index.js' export default { mixins: [a] } 中使用 'a' mixins 但由于我是从 'x' components 导入的,我拥有所有 mixin 的所有静态导入,这是否也会加载不需要的 mixin?

解决方法

import { a } from './mixins' 将仅导入请求的模块,但如果您这样做:

import * as mixins from './mixins'

然后

mixins:[mixins.a]

这将按照说明导入所有模块here

,

你可以做这样的事情,导入所有的 minmins 文件,然后在索引中导出你的 minmin 文件,就像这样:

index.js

import a from '../mixins/a.js'
import b from '../mixins/b.js'
import c from '../mixins/c.js'
import d from '../mixins/d.js'
import e from '../mixins/e.js'

export {a,b,c,d,e}

然后在你的组件中,你可以通过这种方式导入索引中导出的特定模块:

x 组件

import {a,b} from "../mixins"

通过这种方式,您只导入您需要的内容,而不是所有的 index.js 模块