Fix Module Require

This commit is contained in:
Pooya Parsa 2017-05-11 16:28:20 +04:30
parent 497d673727
commit a8d681af3f

View File

@ -60,21 +60,21 @@ class Module {
}
// Allows passing runtime options to each module
const options = moduleOpts.options || {}
const src = moduleOpts.src || moduleOpts
let src = moduleOpts.src || moduleOpts
// Resolve module
let module
try {
if (typeof src === 'string') {
// Using ~ shorthand modules are resolved from project srcDir
if (src.indexOf('~') === 0) {
module = require(path.resolve(this.options.srcDir, src.substr(1)))
} else {
module = require(src)
src = path.resolve(this.options.srcDir, src.substr(1))
}
// eslint-disable-next-line no-eval
module = eval('require')(src)
}
} catch (e) {
// eslint-disable-next-line no-console
console.error('[Nuxt] Unable to resolve module', module)
console.error('[Nuxt] Unable to resolve module', src)
// eslint-disable-next-line no-console
console.error(e)
return
@ -86,7 +86,7 @@ class Module {
}
// Call module with `this` context and pass options
return new Promise((resolve, reject) => {
return module.apply(this, options, err => {
return module.call(this, options, err => {
if (err) {
return reject(err)
}