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
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')
}
}
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'
}
}
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