web-dev-qa-db-fra.com

Alias ​​de résolution Webpack 2

J'ai un petit problème en ce qui concerne la résolution des alias dans Webpack 2. Peu importe ce que je fais, je ne peux pas résoudre ce problème. Voici le code pertinent:

/* webpack.mix.js */

       mix.webpackConfig({
         module: {
               rules: [
                   {
                       test: /\.js$/,
                       loader: 'eslint-loader'
                   }
               ]
           },
           resolve: {
             root: path.resolve(__dirname), 
                    // path is reqired at the beggining of file 
             alias: {
               config: 'src/assets/js/config', // this is a config folder
               js: 'src/assets/js'
             }
           }
       });

/* router.js */ 

        import { DashboardRoute } from 'config/route-components'
      // this import is unresolved
7
Ilija Bradaš

L'option resolve.root n'existe plus dans le Webpack 2. Au lieu de cela, elle est fusionnée dans resolve.modules (à partir du document officiel Guide de migration ). Webpack génère même une erreur indiquant qu'il ne s'agit pas d'une propriété valide. Si vous souhaitez pouvoir importer à partir de votre répertoire racine, modifiez la résolution de la configuration en:

resolve: {
  alias: {
    config: 'src/assets/js/config',
    js: 'src/assets/js'
  },
  modules: [
    path.resolve(__dirname),
    'node_modules'
  ]
}

Sinon, vous pouvez utiliser un chemin absolu dans votre resolve.alias comme suit:

resolve: {
  alias: {
    config: path.resolve(__dirname, 'src/assets/js/config'),
    js: path.resolve(__dirname, 'src/assets/js')
  }
}
3
Michael Jungo

Essaye ça:

resolve: {
  root: [
    'node_modules',
    path.resolve('src') // Resolve on root first
  ], 
  alias: {
    config: 'src/assets/js/config', // this is a config folder
    js: 'src/assets/js'
  }
}
1
Alfred Crosby

Dans ionic 3 (version 3.13.3), pour que le mappage d'alias fonctionne, vous devez définir le mappage de chemin d'accès à la fois dans webpack.config.js et tsconfig.json.

Veuillez vous reporter à la réponse complète ici question ici

0
Maverick09