我正在尝试将从模块选项中获得的数据传递给插件。所以说这是我的模块:
module.exports = function (moduleOptions) {
const options = {
...this.options.moduleName,
...moduleOptions
}
this.addPlugin({
src: resolve(__dirname, 'plugin.js'),
options
})
}
这是我的插件
import { createStore } from 'lib';
export default async ({ store, app }) => {
const settings = {
axios: app.$axios,
models: <% options.models %>
}
settings.axios = app.$axios;
createStore(settings).install()(store)
};
这是我的配置
const { resolve } = require('path')
module.exports = {
rootDir: resolve(__dirname, '..'),
buildDir: resolve(__dirname, '.nuxt'),
srcDir: __dirname,
render: {
resourceHints: false
},
modules: [
'moduleName'
],
moduleName: {
{ models: require(resolve(__dirname, '../example/models')) }
}
}
它抛出
axios: app.$axios,
7 | models:
> 8 | }
模型只是空的,后面没有任何东西。没有空,没有未定义。
但是,如果我执行<% console.log(options.models) %>
,它将显示我已加载的模型。 Btw模型只是一组类。
这些模型必须是可配置的,那么如何通过模块将这些数据从nuxt.config.js
传递到插件?
希望有人知道:)
答案 0 :(得分:0)
我已经在插件中使用了require而不是在配置中解决了这个问题。