2017-05-24 3 views
0

Ich erweitere next.js Webpack-Konfiguration wie in den Dokumenten vorgeschlagen.Next.js - Webpack-Aliasing-Komponentenordner funktioniert nicht

const path = require('path') 

module.exports = { 
    webpack: (config, { dev }) => { 
    config.resolve = { 
     alias: { 
     Templates: path.resolve(__dirname, 'templates/'), 
     Components: path.resolve(__dirname, 'components/') 
     } 
    } 
    return config 
    } 
} 

Ich möchte meine Importe machen wie dies funktioniert:

import Template from 'Templates/Base' 
import Input from 'Components/Input' 

Was habe ich in der Konfiguration falsch gemacht, weil ich Fehler bin immer wie:

kann nicht Modul finden ' Komponenten/Header '

Ich strukturiere mein Verzeichnis wie folgt:

.next 
.storybook 
components 
|_ Header 
|__ index.js 
|_ Input 
|__ index.js 
templates 
|_ Base 
|__ index.js 
pages 
|_ index.js 
node_modules 
containers 
stories 
... 
+0

Haben Sie versucht, anzugeben, dass Sie den aktuellen Ordner wie folgt durchsuchen: Vorlagen: path.resolve (__ Verzeichnisname, './templates/')? –

+0

@SimeonSimeonoff Ja, ich habe, das gleiche Problem. – Kunok

Antwort

0

Statt Bearbeitung webpack Datei ist es erforderlich, .babelrc Datei mit folgendem Inhalt zu erstellen:

{ 
    "plugins": [ 
    ["module-alias", [ 
     { "src": "./components", "expose": "Components" }, 
     { "src": "./containers", "expose": "Containers" }, 
     { "src": "./templates", "expose": "Templates" } 
    ]] 
    ], 
    "presets": [ 
    "es2015", 
    "next/babel" 
    ] 
} 

So können wir Next.js .babelrc Konfiguration erweitert und es funktioniert gut auf server auch.

0
const path = require("path"); 

    module.exports = { 

     webpack: function(config, { dev }) { 

      config.resolve.alias = { 
       Templates: path.resolve(__dirname, "templates/"), 
       Components: path.resolve(__dirname, "components/") 
      }; 

     return config; 
     } 
    }; 
+0

[Quelle von Aliasing] (https://github.com/zeit/next.js/blob/v3-beta/examples/using-inferno/next.config.js) –

+0

Nein, das hilft nicht, muss SSR unterstützen. – Kunok

Verwandte Themen