feat(config, css): resolve packages exporting non js files

This commit is contained in:
Pooya Parsa 2017-07-22 17:36:31 +04:30 committed by GitHub
commit 59c7c5b09d
3 changed files with 7 additions and 2 deletions

View File

@ -8,7 +8,7 @@
<script>
<% if (loading) { %>import NuxtLoading from '<%= (typeof loading === "string" ? loading : "./components/nuxt-loading.vue") %>'<% } %>
<% css.forEach(function (c) { %>
import '<%= wp(c.src || c) %>'
import '<%= relativeToBuild(resolvePath(c.src || c)) %>'
<% }) %>
let layouts = {

View File

@ -242,6 +242,7 @@ export default class Builder extends Tapable {
hash,
r,
wp,
resolvePath: this.nuxt.resolvePath.bind(this.nuxt),
relativeToBuild: this.relativeToBuild
}
})

View File

@ -5,6 +5,7 @@ import Renderer from './renderer'
import Options from './options'
import Debug from 'debug'
import enableDestroy from 'server-destroy'
import Module from 'module'
import { join, resolve } from 'path'
const debug = Debug('nuxt:')
@ -16,6 +17,9 @@ export default class Nuxt extends Tapable {
this.options = Options(_options)
// Paths for resolving requires from `rootDir`
this.nodeModulePaths = Module._nodeModulePaths(this.options.rootDir)
this.initialized = false
this.errorHandler = this.errorHandler.bind(this)
@ -101,7 +105,7 @@ export default class Nuxt extends Tapable {
resolvePath (path) {
// Try to resolve using NPM resolve path first
try {
let resolvedPath = require.resolve(path)
let resolvedPath = Module._resolveFilename(path, { paths: this.nodeModulePaths })
return resolvedPath
} catch (e) {
// Just continue