mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-25 10:08:29 +00:00
fix: passing module as a function
This commit is contained in:
parent
4028abc1e1
commit
6e44648bfc
@ -85,28 +85,27 @@ class Module {
|
|||||||
// Allows passing runtime options to each module
|
// Allows passing runtime options to each module
|
||||||
const options = moduleOpts.options || {}
|
const options = moduleOpts.options || {}
|
||||||
const originalSrc = moduleOpts.src || moduleOpts
|
const originalSrc = moduleOpts.src || moduleOpts
|
||||||
let src = originalSrc
|
|
||||||
// Resolve module
|
// Resolve module
|
||||||
let module
|
let module = originalSrc
|
||||||
try {
|
try {
|
||||||
if (typeof src === 'string') {
|
if (typeof module === 'string') {
|
||||||
// Using ~ or ./ shorthand modules are resolved from project srcDir
|
// Using ~ or ./ shorthand modules are resolved from project srcDir
|
||||||
if (src.indexOf('~') === 0 || src.indexOf('./') === 0) {
|
if (module.indexOf('~') === 0 || module.indexOf('./') === 0) {
|
||||||
src = path.join(this.options.srcDir, src.substr(1))
|
module = path.join(this.options.srcDir, module.substr(1))
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line no-eval
|
// eslint-disable-next-line no-eval
|
||||||
module = eval('require')(src)
|
module = eval('require')(module)
|
||||||
}
|
}
|
||||||
} catch (e) /* istanbul ignore next */ {
|
} catch (e) /* istanbul ignore next */ {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.error('[nuxt] Unable to resolve module', src)
|
console.error('[nuxt] Unable to resolve module', module)
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.error(e)
|
console.error(e)
|
||||||
process.exit(0)
|
process.exit(0)
|
||||||
}
|
}
|
||||||
// Validate module
|
// Validate module
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
if (!(module instanceof Function)) {
|
if (typeof module !== 'function') {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.error(`[nuxt] Module [${originalSrc}] should export a function`)
|
console.error(`[nuxt] Module [${originalSrc}] should export a function`)
|
||||||
process.exit(1)
|
process.exit(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user